IRC Python Bot:最佳方式 [关闭]
Posted
技术标签:
【中文标题】IRC Python Bot:最佳方式 [关闭]【英文标题】:IRC Python Bot: Best Way [closed] 【发布时间】:2010-11-09 04:58:12 【问题描述】:我想构建一个基本上执行以下操作的机器人:
-
聆听房间并与用户互动,并鼓励他们私信聊天机器人。
一旦用户发送消息,机器人就会使用各种 AI 技术与客户端互动。
我应该只使用 Python 中的 IRC 库或 Sockets,还是需要更多的机器人框架。
你会怎么做?
谢谢!
这是我目前正在使用的代码,但是我还没有让它工作。
#!/usr/bin/python
import socket
network = 'holmes.freenet.net'
port = 6667
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( network, port ) )
irc.send ( 'NICK PyIRC\r\n' )
irc.send ( 'USER PyIRC PyIRC PyIRC :Python IRC\r\n' )
irc.send ( 'JOIN #pyirc\r\n' )
irc.send ( 'PRIVMSG #pyirc :Can you hear me?\r\n' )
irc.send ( 'PART #pyirc\r\n' )
irc.send ( 'QUIT\r\n' )
irc.close()
【问题讨论】:
我即将完成 Python 的 IRC 包,它可能会帮助您。我会在这里提供:ircutils.evanfosmark.com 太棒了!谢谢!我会记住这一点! 【参考方案1】:如果您想要一个理智的设计,请使用Twisted 或Asynchat。可以只使用套接字来完成,但为什么要从头开始呢?
【讨论】:
我刚刚再次查看了 Twisted,并在 IM 部分下找到了它。感谢您的链接。 Asynchat 到底有什么帮助?【参考方案2】:如果您想涉及 AI 技术,那么我建议您查看 Python 的 AIML 包。这与 ALICE 机器人所采用的技术相同。
【讨论】:
感谢您对 AIML 包的关注!【参考方案3】:如果您想要创建 AI 部分,为什么还要自己编写 IRC 连接所需的所有代码?
我建议使用SupyBot,只需将您的 AI 代码编写为它的插件即可。有相当容易理解的文档和大量示例代码可供查找。此外,它还附带了大量插件,可用于各种用途,可以补充您的 AI。
【讨论】:
【参考方案4】:我在 2 年后回复,我只是为 Google 员工写这篇文章:-P
在这里https://github.com/julienpalard/yauib 试试我的“又一个无用的 IRC 机器人”,让您可以使用任何您想要的语言编写机器人的每个功能。
【讨论】:
【参考方案5】:我使用irclib 做了一个(非常糟糕,而且很长一段时间都在重构)IRC bot。该文档几乎没有,但它摆脱了让您必须进行所有套接字连接之类的事情,这是我真的不想处理的事情。不过各有各的。
【讨论】:
【参考方案6】:使用现有的 IRC 库而不是自己实现协议。
【讨论】:
以上是关于IRC Python Bot:最佳方式 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Python 3 Twitch IRC bot 接收 Python 或错误代码的消息限制?
Twisted Python IRC Bot - 如何在 bot 运行命令时监听命令?
Python IRC bot + SQLAlchemy - 多渠道跟踪用户