Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IRC机器人使用Python,需要一个简单的ping脚本用于2.7.3_Python_Linux_Bots_Irc - Fatal编程技术网

IRC机器人使用Python,需要一个简单的ping脚本用于2.7.3

IRC机器人使用Python,需要一个简单的ping脚本用于2.7.3,python,linux,bots,irc,Python,Linux,Bots,Irc,我目前正在用我的raspberry pi制作一个IRC机器人,并使用一个简单的python脚本来运行。一切都很好,而不是一件事,它不保持联系 我搜索了一下,发现很多人最终都会问这个问题,并且有多种答案。但是,我运行的是Python2.7.3,我发现的任何脚本都只与3.X兼容 基本上,什么是Python2.7.3脚本,它将ping IRC以使其不断开连接 首先,您为什么不阅读IRC RFC(,以及其他较新版本)来了解如何实现它 然后,给定您的代码,您只需执行以下操作: if received.fi

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

我搜索了一下,发现很多人最终都会问这个问题,并且有多种答案。但是,我运行的是Python2.7.3,我发现的任何脚本都只与3.X兼容

基本上,什么是Python2.7.3脚本,它将ping IRC以使其不断开连接


首先,您为什么不阅读IRC RFC(,以及其他较新版本)来了解如何实现它

然后,给定您的代码,您只需执行以下操作:

if received.find(COMMAND_SIGN+'PING') != -1:
    sock.send('PONG '+received.split(': ')[-1]+'\r\n')
    continue
尽管你的代码在很多方面都很糟糕。最糟糕的是,您定义了函数
Send()
,该函数使用尚未声明的
sock
,然后在全局级别声明它。尽管它可以工作,但这是一种糟糕的编程方式

然后使用
continue
控制流,而不是简单地使用一系列if/else。这也是糟糕的编程(尽管没有那么糟糕)

然后您使用了许多try/except语句,它们都做相同的事情,而您只能有一个

我甚至没有提出使用twisted、gevent或tornado比仅使用socket重新实现更好的想法

但首先,您应该从头到尾阅读python教程,以及编程书籍。然后你应该阅读IRC RFC


哦,最后,很明显,您是一名python初学者,您应该学习并只使用python3,而忘记您曾经见过python2,因为它很快就会被弃用。

欢迎使用satckoverflow,请在您的问题中提供一个答案,而不是完整的代码。这是我用Python学习的第一个真正的实现。谢谢你的帮助!我将努力使代码变得更好、更高效,而不是像现在这样糟糕。