【问题标题】:Willie python irc bot - getting list of nicknames on a channelWillie python irc bot - 获取频道上的昵称列表
【发布时间】:2014-04-23 10:10:52
【问题描述】:

我对 Willie (http://willie.dftba.net/) Python irc 机器人有疑问。

我要执行irc命令“/names”

在 irc 服务器上,然后阅读回复。换句话说,我基本上想获得当前出现在 irc 频道上的昵称。这应该是从 Willie 机器人内部执行此操作的某种方式。如果有人这样做,请回复。

到目前为止我做了什么:

  1. 谷歌搜索问题
  2. 浏览了 github 上的所有内容(所有 wiki)
  3. 浏览(因为我正在使用它)Willie 的官方 Python 文档。
  4. 给 Willie 机器人的原始创建者写了一封电子邮件。 (但无济于事..)

如果有人有任何想法,我将不胜感激。

谢谢你和最好的问候,

中本聪

【问题讨论】:

    标签: python bots irc


    【解决方案1】:

    获取频道中名称列表的最佳方法是bot.privileges。 (users = bot.privileges['#yourchannel'] 将为您提供一个包含其权限级别的名称字典。您可以使用for nick in users: do_something(nick) 仅遍历昵称)。这样可以使您的列表保持最新状态,因此您无需处理发送 NAMES 或解析回复。

    如果您确实想解析实际回复,Dan D. 是对的。您需要在一个函数中发送NAMES,然后让另一个具有@rule('353') 的函数来解析回复。

    【讨论】:

      【解决方案2】:

      我能找到的最接近的是如何使用willie.write() 发送 NAMES 命令,但它不返回命令的结果。因此,我认为需要在 353 RPL_NAMREPLY 和 366 RPL_ENDOFNAMES 上有一个触发器来收集 NAMES 命令的结果。

      【讨论】:

        猜你喜欢
        • 2014-02-13
        • 1970-01-01
        • 2014-01-28
        • 2011-10-05
        • 1970-01-01
        • 2015-11-24
        • 2015-03-23
        • 1970-01-01
        • 2015-11-21
        相关资源
        最近更新 更多