使用Python的IRC Bot,需要2.7.3的简单ping脚本

时间:2014-05-23 15:30:53

标签: python linux bots irc

我目前正在使用我的覆盆子pi制作一个IRC机器人并使用一个简单的python脚本来运行。一切都很好,而不是一件事,它没有保持联系。

我搜索过并发现许多人最终都会问这个问题并且有多个答案。但是,我正在运行python 2.7.3,我找到的任何脚本只与3.X

兼容

基本上,什么是Python 2.7.3脚本会ping IRC以便它不会断开连接?

Here is the script as of yet.

1 个答案:

答案 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,因为它很快就会被弃用。