我在考虑制作一个简单的IRC机器人。似乎有各种各样的Python软件是为这个目的而编写的,具有不同的特性集和不同程度的复杂性。我找到了this package,它似乎有一个用户友好的界面,并安装了它。在
我首先遇到了这样一个问题:这个包似乎是在没有考虑python3的情况下编写的。我在上面运行了2to3转换器工具,随后能够导入包。但是,在试图从文档中复制示例时,我在问题标题中得到了错误。这是我的脚本,去掉了频道名:
from ircutils import bot
class hambot (bot.SimpleBot):
def on_channel_message (self, event):
if event.message == 'go away hambot':
self.quit('Goodbye.')
def main ():
hb = hambot('hambot')
hb.connect('irc.synirc.org', channel = '(channel name removed)')
hb.start()
if __name__ == '__main__': main()
这是我运行它时得到的结果。第一个异常只引用了一个名为asynchat.py
的脚本,它似乎是Python本身的一部分,而不是IRCUtils包的一部分,因此我对可能出现的问题有点茫然。在
StackOverflow上已经有一个问题与此错误消息有关,但公认的答案是,在这种情况下,它与一个名为“gevent”的包有关,据我所知,它甚至没有安装在我的机器上,因此我认为它与此无关。在
这个问题的出现是因为改变了python3中字符串的工作方式。以下错误可能与此相关:http://bugs.python.org/issue12523
IRCUtils库的工作方式如下:除了运行2to3脚本外,对
connection.py
进行以下更改:相关问题 更多 >
编程相关推荐