如何使用 Python Twitch IRC Bot 获取聊天消息参数?

Posted

技术标签:

【中文标题】如何使用 Python Twitch IRC Bot 获取聊天消息参数?【英文标题】:How do I use a Python Twitch IRC Bot to take chat message parameters? 【发布时间】:2016-02-19 06:54:15 【问题描述】:

我对 Python 编码相当陌生,只是想知道是否有人知道我的 Python Twitch IRC Bot 使用套接字接收和处理消息命令参数的简单方法。例如,如果我要设置歌曲请求,并且聊天中的用户输入“!songrequest URL”,我将如何识别该 URL 并对其进行处理? (顺便说一句,我已经有一种从链接中检索 YouTube 视频标题的方法)。在最简单的形式中,我正在寻找的是从聊天消息命令中获取参数并将其放入单独的变量中。 如果有帮助,以下是我从 Twitch 聊天中检索命令的方法:

s = openSocket()

if "!command" in message:

sendMessage(s, "Message")
break

提前致谢!

【问题讨论】:

那么,您是在尝试提取用户聊天消息中的 url 吗? (根据您的示例) 看看我的回答有没有帮助。 【参考方案1】:

我最近构建了一个具有类似功能的 whatsapp 机器人;本质上,您可以使用split()

if message.startswith(command):
    your_function(message.split(' ')[1])

command 显然是您的命令的字符串版本(即 '!songrequest`)

这会按空格分割字符串,因此如果消息显示为:“!songrequest URL”,它会返回 URL。

请注意,str.split() 默认返回一个列表,并且由于您想要拆分的第二个元素,您必须通过索引 ([1]) 来获取该元素。

我选择message.startswith() 的原因是,当您在自己发送的消息中的某处告诉人们!songrequest 命令时,机器人不会触发(即“”您可以使用 !songrequest 来请求一首歌!”)。

【讨论】:

以上是关于如何使用 Python Twitch IRC Bot 获取聊天消息参数?的主要内容,如果未能解决你的问题,请参考以下文章

Python 3 Twitch IRC bot 接收 Python 或错误代码的消息限制?

禁止登录 IRC 频道,以 twitch 为例

C# IRC 和 Twitch 空闲断开连接?

Twitch IRC 聊天机器人成功连接但未检测到命令

使用 irc.bot.SingleServerIRCBot 持续存在的线程(与 twitch 一起使用)

连接到 Twitch IRC 聊天