IRC Python Bot:最佳方式

时间:2009-07-08 22:17:45

标签: python irc bots

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

  1. 收听房间并与用户互动,并鼓励他们使用机器人。
  2. 一旦用户PMed使用各种AI技术,机器人与客户进行交互。
  3. 我应该只使用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()
    

6 个答案:

答案 0 :(得分:12)

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

答案 1 :(得分:7)

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

答案 2 :(得分:5)

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

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

答案 3 :(得分:3)

正如我回复〜2年后,我正在为Google员工写这篇文章:-P

在这里尝试我的'又一个无用的IRC Bot'https://github.com/julienpalard/yauib,允许您使用您想要的任何语言对机器人的每个功能进行编码。

答案 4 :(得分:2)

我使用IRC bot制作了一个(非常糟糕,很长一段时间被重构)irclib。文档几乎没有,但它摆脱了让你必须做所有套接字连接等,这是我真的不想处理的东西。但对他自己而言。

答案 5 :(得分:2)

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