【问题标题】:How to use Twisted to get an IRC channel's user list如何使用 Twisted 获取 IRC 频道的用户列表
【发布时间】:2011-03-14 21:55:29
【问题描述】:

我正在尝试使用{{self.say(channel, "WHO",100)}} 获取频道的用户列表。我怎样才能得到回应?我应该重写哪个方法?

【问题讨论】:

    标签: python twisted


    【解决方案1】:

    这里有一些额外的方法可以帮助你走得更远。您通过定义方法irc_RPL_NAME 来处理给定的回复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
    

    【讨论】:

    • WHO 不是用来获取频道中用户列表的正确 IRC 命令。这是一种服务器范围的名称列表。 NAMES 是用于列出频道中用户的命令。尽管张贴者说他正在使用 WHO,但我认为如果它还显示了如何解释 NAMES 响应,这个答案会更好。然后它会真正回答问题的主题中的问题。
    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 2014-02-13
    • 2011-03-08
    • 2012-09-02
    • 2011-10-05
    • 2023-01-26
    • 2014-04-23
    • 2016-02-23
    相关资源
    最近更新 更多