我正在尝试使用twisted.words.protocols.irc模块制作一个IRC机器人。
机器人将解析来自通道的消息并解析它们以获取命令字符串。
一切正常,除非我需要机器人通过发送whois命令来识别昵称。在privmsg方法(我正在从中进行解析的方法)返回之前,不会处理whois答复。
例子:
from twisted.words.protocols import irc
class MyBot(irc.IRClient):
..........
def privmsg(self, user, channel, msg):
"""This method is called when the client recieves a message"""
if msg.startswith(':whois '):
nick = msg.split()[1]
self.whois(nick)
print(self.whoislist)
def irc_RPL_WHOISCHANNELS(self, prefix, params):
"""This method is called when the client recieves a reply for whois"""
self.whoislist[prefix] = params
有什么办法可以使机器人在self.whois(nick)之后等待回复吗?
也许使用线程(我对此没有任何经验)。
相关分类