Willie python irc bot - 获取频道上的昵称列表

时间:2014-03-17 23:13:31

标签: python bots irc

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

我想执行irc命令“/ names”

在irc服务器上,然后阅读回复。换句话说,我基本上想要获得目前在irc频道上出现的昵称。它应该是从威利机器人中做到这一点的一些方法。如果有人这样做,请回复。

到目前为止我做了什么:

  1. 用Google搜索问题
  2. 浏览github上的所有内容(所有wiki)
  3. 通过(因为我使用它)威利的官方Python文档。
  4. 写一封电子邮件给威利机器人的原始创作者。 (但无济于事..)
  5. 如果有人有任何想法,我会非常感激。

    谢谢你,最诚挚的问候,

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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