如何使用Twisted获取IRC频道的用户列表

ale*_*z78 5 python twisted

我正在尝试使用频道的用户列表{{self.say(channel, "WHO",100)}}.我该如何得到答复?我应该覆盖哪种方法?

sam*_*ias 7

这里有一些其他方法可以帮助您进一步了解.您RPL_NAME通过定义方法来处理给定的回复irc_RPL_NAME.所以RPL_WHOREPLY你定义irc_WHOREPLY:

    def who(self, channel):
        "List the users in 'channel', usage: client.who('#testroom')"
        self.sendLine('WHO %s' % channel)

    def irc_RPL_WHOREPLY(self, *nargs):
        "Receive WHO reply from server"
        print 'WHO:', nargs

    def irc_RPL_ENDOFWHO(self, *nargs):
        "Called when WHO output is complete"
        print 'WHO COMPLETE'

    def irc_unknown(self, prefix, command, params):
        "Print all unhandled replies, for debugging."
        print 'UNKNOWN:', prefix, command, params
Run Code Online (Sandbox Code Playgroud)

  • WHO不是用来获取频道中用户列表的IRC命令。有点像服务器范围的名称列表。NAMES是用于列出频道中用户的命令。尽管发帖人说他正在使用世界卫生组织,但我认为,如果该回答还显示了如何解释NAMES答复,将会更好。然后它将真正回答问题的主题。 (2认同)