gpt4 book ai didi

python - IRC 机器人 : MOTD doesn't come even though I did USER and NICK

转载 作者:行者123 更新时间:2023-12-01 06:04:35 25 4
gpt4 key购买 nike

我正在用 python 制作一个 IRC 机器人,用于 hackthissite 挑战(prog 8)。以下是连接代码的摘录:

def ping():
ircsock.send("PONG :Pong\n")
ircsock.connect((server,6667))
ircsock.send("USER "+botnick+" "+server+" "+botnick+" :"+version+"\n")
ircsock.send("NICK "+botnick+"\n")
while(connect):
ircmsg = ircsock.recv(2048)
ircmsg = ircmsg.strip('\n\r')
print(ircmsg)
if(ircmsg.find("PING :") != -1):
ping()

我不认为这有什么问题。所有变量都已定义并具有值,此代码在某些服务器(例如 freenode)上运行没有问题。但在其他服务器(foonetic、hackthissite)上,我得到以下输出:

:hub.irc.hackthissite.org NOTICE AUTH :*** Looking up your hostname...
:hub.irc.hackthissite.org NOTICE AUTH :*** Found your hostname
PING :3C8E9173
:3C8E9173!nospoof@hub.irc.hackthissite.org PRIVMSG Tadbot :VERSION

我不知道该怎么办。我尝试将机器人的版本发送回“:”和“!”之间的用户名,这(如预期)没有执行任何操作。在发生这种情况的服务器上,我永远不会收到 MOTD,因此当我尝试执行任何操作时都会收到“您尚未注册”错误。

谷歌得到了一些人们解释类似问题的结果,但他们总是忘记发送他们的用户和NICK,所以我真的不知道在这里做什么。

最佳答案

您必须向服务器的PING发送PONG响应,否则服务器会认为连接已断开。

您发布的示例中的正确回复是

PONG :3C8E9173

3C8E9173 与服务器请求的字符串相同。

关于python - IRC 机器人 : MOTD doesn't come even though I did USER and NICK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8772171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com