错误:
NOTICE Auth :*** Looking up your hostname...
433 * testbot:Nickname is already in use.
NOTICE Auth :*** Could not resolve your hostname: Request timed out; using your IP address () instead.
451 837AAAABB JOIN :You have not registered
脚本运行正常,我遇到的唯一问题是当另一个用户具有相同的名称,因此机器人不会加入时,我该如何解决这个问题?
#IRC Info, Where the bot connects too
server="Server"
botnick="testbot"
channel="#test"
我尝试过:
Google,YouTube,查看其他github IRC bot和stackoverflow。
我的一个想法是使用随机字符串生成器,因此如果采用名称“testbot”,则脚本将生成随机的内容并再次尝试。我不确定如何添加它。
Python 2.x
谢谢!
答案 0 :(得分:0)
如果没有看到您尝试的某些代码,很难帮助您。或任何代码。
总的想法是检测传入消息何时是433
(又名ERR_NICKNAMEINUSE
),然后发送带有新昵称的新NICK
命令;然后再试一次,直到找到一个免费的昵称。
伪代码:
MAINNICK = 'testbot'
nick_suffix = 1
send_msg('NICK {}'.format(MAINNICK))
while True:
msg = recv_msg()
if msg.split(' ')[1] == '433':
send_msg('NICK {}{}'.format(MAINNICK, nick_suffix))
nick_suffix += 1
答案 1 :(得分:0)
这个回答假设昵称是你注册的。
收到ERR_NICKNAMEINUSE (433)
时,将REGAIN
发送给nickserv
。我个人也注意不要在 30 秒内发送 REGAIN
超过 3 次,否则我会因为其他问题而断开连接并重新连接。
REGAIN YourRegisteredNick YourPassword
偶尔会收到带有包含 NOTICE
的第二个参数的 can not regain your nickname
。这表示 REGAIN
失败。我知道处理此错误的唯一方法是断开、重新连接和重新加入频道。