11

我想构建一个基本上执行以下操作的机器人:

  1. 聆听房间并与用户互动并鼓励他们 PM 机器人。
  2. 用户发送消息后,机器人会使用各种 AI 技术与客户端互动。

我应该只在 python 中使用 IRC 库或套接字,还是需要更多的机器人框架。

你会怎么做?

谢谢!

这是我目前正在使用的代码,但是,我还没有让它工作。

#!/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()
4

6 回答 6

12

如果你想要一个理智的设计,请使用TwistedAsynchat 。可以只用套接字来做,但为什么要从头开始做呢?

于 2009-07-08T22:35:08.600 回答
7

如果您想涉及 AI 技术,那么我建议您查看 Python 的AIML包。这与 ALICE 机器人所采用的技术相同。

于 2009-07-08T22:29:30.983 回答
5

如果您想要创建 AI 部分,为什么还要自己编写 IRC 连接所需的所有代码?

我建议使用SupyBot,只需将您的 AI 代码编写为它的插件即可。有相当容易理解的文档和大量示例代码可供查找。此外,它还附带了大量插件,可用于各种用途,可以补充您的 AI。

于 2010-02-08T20:03:32.243 回答
3

正如我在 2 年后回复的那样,我只是为 Google 员工写这篇文章:-P

只需在这里https://github.com/julienpalard/yauib尝试我的“又一个无用的 IRC 机器人”,它允许您使用您想要的任何语言编写机器人的每个功能。

于 2011-03-20T13:18:35.353 回答
2

我使用irclib制作了一个(非常糟糕,并且长期以来一直在重构)IRC 机器人。该文档几乎没有,但它摆脱了让您必须进行所有套接字连接之类的事情,这是我真的不想处理的事情。不过,对每个人来说都是他自己的。

于 2009-07-09T06:13:47.827 回答
2

使用现有的 IRC 库而不是自己实现协议。

于 2010-01-05T05:40:52.080 回答