我目前正在使用我的覆盆子pi制作一个IRC机器人并使用一个简单的python脚本来运行。一切都很好,而不是一件事,它没有保持联系。
我搜索过并发现许多人最终都会问这个问题并且有多个答案。但是,我正在运行python 2.7.3,我找到的任何脚本只与3.X
兼容基本上,什么是Python 2.7.3脚本会ping IRC以便它不会断开连接?
答案 0 :(得分:1)
首先,为什么不阅读IRC RFC(RFC1459,另一个更新)来了解如何实现它?
然后给你的代码你需要做的就是:
if received.find(COMMAND_SIGN+'PING') != -1:
sock.send('PONG '+received.split(': ')[-1]+'\r\n')
continue
虽然你的代码在很多方面都很糟糕。最糟糕的是你定义了使用尚未声明的Send()
的函数sock
,然后在全局级别声明它。尽管它有效,但这是一种 糟糕的 编程方式。
然后您使用continue
控制流而不是简单地使用一系列if / else。这也是糟糕的编程(尽管不是很糟糕)。
然后你使用了许多try / except语句,它们都做同样的事情,而你只能有一个。
我甚至没有提出使用扭曲或gevent或龙卷风的事实比仅使用套接字重新实现这个更好的想法。
但首先,你应该从头到尾阅读python教程,以及一本编程书。然后你应该阅读IRC RFC。
哦,最后,因为很明显你是一个蟒蛇初学者,你应该学会并且只使用python3而忘记你曾经看过python2,因为它很快就会被弃用。