저는 재미있는 이유로 freenode의 채널에 대한 간단한 python IRC 봇을 만들었습니다.Python IRC 로봇에서 오류가 발생했습니다.
irc.connect((server,6667))
irc.send("USER "+botnick+" "+botnick+" "+botnick+" :Howdy mate!\n")
irc.send("NICK "+botnick+"\n")
irc.send("PRIVMSG nickserv :iNOOPE\r\n") #I don't know what this does
irc.send("JOIN "+channel+"\n")
(하위 질문 :? 무엇을 4 선 수행하는 것이)는 서버에 연결하기 위해 다음 코드를 사용하여 모든 권리를 일하는
그러나 while 루프는 IRC를 유발했다. recv (2040) 뭔가를 반환했습니다. 그래서 온라인 예제를 따라하고 while 루프의 시작 부분에
irc.setblocking(False)
후
irc.connect((server,6667))
과
time.sleep(1)
을 추가했다.
그래서 지금은 연결 부분이 닮은 :
irc.send("USER "+botnick+" "+botnick+" "+botnick+" :Howdy mate!\n")
TypeError: 'str' does not support the buffer interface
나는이 오류를 해결 할 수 없습니다
irc.connect((server,6667))
irc.setblocking(False)
irc.send("USER "+botnick+" "+botnick+" "+botnick+" :Howdy mate!\n")
irc.send("NICK "+botnick+"\n")
irc.send("PRIVMSG nickserv :iNOOPE\r\n")
irc.send("JOIN "+channel+"\n")
하지만 지금은 프로그램을 실행하려고 할 때, 그것은 오류를 보여줍니다 irc.setblocking (False)을 제거하면 사라집니다. 하지만 실제로 루프를 수행 할 필요가 irc.recv (2040) 뭔가를 반환하거나 그렇지 않으면 ... 그래서 오류를 알아낼 수 있습니까?
EDIT : 위의 오류는 python 셸에서 실행했을 때 나타납니다 (CMD가 오류를 읽는 데 너무 빨리 닫히기 때문에). 이제는 CMD에서 오류를 기록하고보고 관리했습니다. 다음과 같이 말합니다 :
text=irc.recv(2040)
A non blocking socket operation could not be completed immediatly.
Help?
[Nickserv] (http://archive.oreilly.com/pub/h/1940)는 세션 전체에서 닉을 유지하는 서비스입니다. 당신은 그것과 대화하여 그것을 조작합니다. 'NOOPE'는 전혀 아무것도하지 않는 것처럼 들리지만 명령 세트에 대한 자세한 내용은 자신의 nickserv 설명서를 참조하십시오. – tripleee