在Python中,如何在Twitch API';s使用正则表达式的耳语命令?

在Python中,如何在Twitch API';s使用正则表达式的耳语命令?,python,regex,twitch,Python,Regex,Twitch,我在主聊天中对PRIVMSG有很好的效果,但是Twitch的耳语命令让我有点发疯——它包含了大量的额外信息 例如,对于PRIVMSG,我有以下工作: CHAT_MSG=re.compile(r"^:\w+!\w+@\w+\.tmi\.twitch\.tv PRIVMSG #\w+ :") 但是,WHISPER返回以下信息: badges: @badges=;color=;display-name=;emotes=;message-id=34;thread-id=5575526_1236817

我在主聊天中对PRIVMSG有很好的效果,但是Twitch的耳语命令让我有点发疯——它包含了大量的额外信息

例如,对于PRIVMSG,我有以下工作:

 CHAT_MSG=re.compile(r"^:\w+!\w+@\w+\.tmi\.twitch\.tv PRIVMSG #\w+ :")
但是,WHISPER返回以下信息:

badges: @badges=;color=;display-name=;emotes=;message-id=34;thread-id=5575526_123681740;turbo=0;user-id=5575526;user-type= :teonnyn!teonnyn@teonnyn.tmi.twitch.tv WHISPER blastweb :Hello Bot
teonnyn!teonnyn@teonnyn.tmi.twitch.tv PRIVMSG #blastweb :Hello Bot
PRIVMSG返回以下内容:

badges: @badges=;color=;display-name=;emotes=;message-id=34;thread-id=5575526_123681740;turbo=0;user-id=5575526;user-type= :teonnyn!teonnyn@teonnyn.tmi.twitch.tv WHISPER blastweb :Hello Bot
teonnyn!teonnyn@teonnyn.tmi.twitch.tv PRIVMSG #blastweb :Hello Bot
PRIVMSG-公共连接,用于解析来自公共的聊天:

        username = re.search(r"\w+", channelResponse).group(0)
        message = CHAT_MSG.sub("", channelResponse)
        print(username + ": " + message)
在WHISPER中,同样的代码只返回完整的API信息“badges+”块。 最好的办法是解析出所有额外的信息,然后只获取用于WHISPER的用户名和消息


我最终试图达到以下目的:
teonnyn:Hello Bot

下面的正则表达式返回两个匹配项-用户名和消息:

user type=\s+:(\w+)。*:([\S\S]+)


以下是工作:


以下正则表达式返回两个匹配项-用户名和消息:

user type=\s+:(\w+)。*:([\S\S]+)


以下是工作:


您的字符串已被分隔,请尝试将其用作您的优势:

>>> bits = s.split(':')
>>> bits[2],bits[3]
('teonnyn!teonnyn@teonnyn.tmi.twitch.tv WHISPER blastweb ', 'Hello Bot')

您的字符串已被分隔,请尝试将其用作您的优势:

>>> bits = s.split(':')
>>> bits[2],bits[3]
('teonnyn!teonnyn@teonnyn.tmi.twitch.tv WHISPER blastweb ', 'Hello Bot')

@梅林:你的帖子不是说你只想要
teonnyn:Hello Bot
吗?@Merlin:你的帖子不是说你只想要
teonnyn:Hello Bot
吗?