我在将 Python IRC-Bot 连接到 Quakenet 时遇到一些问题。
其他网络(如 freenode 或 euirc)工作正常。
我的 irc-lib 的代码:https://github.com/Thor77/PythonIrcBot/blob/master/irc.py
我的机器人的输出:
b'>>PASS somepassword'
b'>>NICK Thor2'
b'>>USER Thor2 Thor2 Thor2 :Thor2'
b'<<NOTICE AUTH :*** Looking up your hostname\r\n'
b'<<NOTICE AUTH :*** Checking Ident\r\nNOTICE AUTH :*** No ident response\r\nPING :3048259664\r\nNOTICE AUTH :*** Found your hostname\r\n'
b'<<:protectglobal.uk.quakenet.org 513 Thor2 :Your client may not be compatible with this server.\r\n:protectglobal.uk.quakenet.org 513 Thor2 :Compatible clients are available at ftp://ftp.undernet.org/pub/irc/clients\r\nERROR :Closing Link: Thor2 by protectglobal.uk.quakenet.org (Registration Timeout)\r\n'
最佳答案
解决办法是, 我需要响应 PING, 在 NICK 消息之后。
self._send('PASS somepassword')
self._send('NICK ' + nick)
self._read() # reads messages from server, find ping, send pong
self._send('USER %s %s %s :%s %s' % (nick, nick, nick, nick, nick[::-1]))
关于Python IRC-Bot Quakenet 无识别响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23238388/