猿问

Python扭曲的irc:在privmsg方法中等待whois回复

我正在尝试使用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)之后等待回复吗?


也许使用线程(我对此没有任何经验)。


潇潇雨雨
浏览 139回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答