2010-01-27 4 views
2

학습 연습으로 IRC 네트워크의 채널에 연결하는 Python 프로그램을 작성 중이므로 채널의 메시지를 stdout으로 출력 할 수 있습니다. 나는 asynchat를 사용하고 Twisted 또는 기존 봇 코드와 같은 것을 사용하지 않고 수동으로 프로토콜 메시지를 보내고 있습니다. 다시이 방법이 더 유용한 학습 경험입니다.IRC 서버에 연결할 때 "NOTICE AUTH"알림

JOIN 및 USER 명령을 매우 행복하게 보낼 수 있으며 필요에 따라 PING/PONG을 수행 할 수 있습니다. 포트 6667 소켓을 열 때 그러나, 나는 나타났습니다, 나는 몇 가지 메시지를 받게됩니다 :

NOTICE AUTH :*** Looking up your hostname... 
NOTICE AUTH :*** Checking ident 
NOTICE AUTH :*** Found your hostname 
NOTICE AUTH :*** No identd (auth) response 

을 나는 아직 가입/USER 명령을 보낸 적이 없다 경우에도 마찬가지입니다.

어디서나 알림을 열 수 있습니까? 내가 알 수있는 한, RFC는 클라이언트가 JOIN 명령을 보내기 전에 특별히 발생하는 사항을 지정하지 않으며 JOIN 명령을 보내기 전에 이러한 통지를 기다릴 지 여부를 확신하지 못했습니다. 모든 통지를 받았음을 어떻게 감지합니까?

+0

Hrm, 위의 JOIN을 입력하면 NICK를 의미합니다. 분명히 채널 합류는 나중에 게임에서 발생합니다. – graememcc

답변

3

이 작업을 수행하는 데 RFC 요구 사항이 없습니다. 야생 서버가 수행하는 일반적인 작업입니다. 그것들은 오래된 오래된 NOTICE 명령 (예 : 메시지)입니다. 그냥 psuedo-user "AUTH"에게 보낸 메시지로 처리하십시오 (서버가 아직 당신에게 더 좋은 이름이 아니기 때문에). 그들을 기다릴 필요가 없으며 서버는 서버를 보낼 필요가 없습니다.

+1

그들은 실제로 송신자 접두어가 지정되지 않았기 때문에 서버에서 왔으며 "AUTH"라는 엔티티로 * 보내집니다. 니콜이 아직 없기 때문에 서버가 당신에게 전화를했다. – caf

+0

네 말이 맞아. 이를 반영하여 답변을 업데이트하겠습니다. – Yuliy

관련 문제