代码之家  ›  专栏  ›  技术社区  ›  Noah Clark

irc python bot:最佳方式[关闭]

  •  11
  • Noah Clark  · 技术社区  · 16 年前

    我想构建一个基本上可以执行以下操作的bot:

    1. 倾听房间并与用户互动,鼓励他们对机器人程序进行PM。
    2. 一旦用户使用各种人工智能技术对机器人进行了PMED,机器人就会与客户进行交互。

    我应该只在Python中使用IRC库或套接字,还是需要更多的bot框架?

    你会怎么做?

    谢谢!

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

    #!/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 回复  |  直到 14 年前
        1
  •  12
  •   Unknown    16 年前

    使用 Twisted Asynchat 如果你想有一个健全的设计。只使用插座是可能的,但是为什么要从头开始呢?

        2
  •  7
  •   Evan Fosmark    16 年前

    如果你想让人工智能技术参与进来,那么我建议你看看 AIML python包。这是Alice机器人所采用的相同技术。

        3
  •  5
  •   Epcylon    15 年前

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

    我建议使用 SupyBot 然后简单地把你的人工智能代码作为插件来写。有可以理解的文档和大量示例代码可供查找。此外,它还附带了大量的插件,可用于各种可能补充您的人工智能的用途。

        4
  •  3
  •   Julien Palard    14 年前

    2年后,当我回复时,我写这篇文章只是为了谷歌人。

    试试我的“又一个没用的IRC机器人” https://github.com/julienpalard/yauib 允许您使用所需的任何语言对bot的每个特性进行编码。

        5
  •  2
  •   Xiong Chiamiov    16 年前

    我做了一个(非常糟糕,很长一段时间都在重构) IRC bot 使用 irclib .文档几乎没有任何内容,但是它会让您不必做所有的套接字连接之类的事情,这是我真正不想处理的事情。不过,对每个人都是如此。

        6
  •  2
  •   Nicolás    15 年前

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