5
我试图使用{{self.say(channel, "WHO",100)}}
获取频道的用户列表。我怎样才能得到回应?我应该重写哪个方法?如何使用Twisted获取IRC频道的用户列表
我试图使用{{self.say(channel, "WHO",100)}}
获取频道的用户列表。我怎样才能得到回应?我应该重写哪个方法?如何使用Twisted获取IRC频道的用户列表
下面是一些应该帮助你进一步研究的其他方法。您通过定义方法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的回应,这个答案会更好。那么它会真正回答这个问题的主题。 – 2011-07-13 13:41:36