【发布时间】:2015-11-25 17:23:34
【问题描述】:
我已经在 TwitchTV Python 聊天机器人上工作了一段时间,但我仍在掌握 Python。
这可能看起来很简单,但这让我感到困惑,所以我决定问:
我目前正在使用 data = irc.recv 从 Twitch Chat 中提取消息
我想要做的是使用提取的数据并将其转换为字符串,这样我就可以使用str.isupper()检查消息中的大写字母
我已经尝试了几种方法;
data = irc.recv (4096)
msg = data()
capsTime = "30s"
str = msg
if str.isupper():
message("[-] Woah! Hold back on the caps! (Timeout " + capsTime + ")")
message("/timeout " + user + capsTime)
# variable "user" already defined
这只是一个,不幸的是没有工作。
编辑:
这是我的新代码,它运行时没有错误消息,但它没有按我的意愿运行;
while True:
data = irc.recv (4096)
user = data.split(':')[1]
user = user.split('!')[0]
caps = data.split(':')[0]
capsmsg = str(data)
print data
if data.find('PING') != -1:
irc.send('PONG ' + data.split()[1] + '\r\n')
if capsmsg.isupper():
message("[-] Woah! Hold back on the caps, " + user + "! (Timeout 30s)")
message("/timeout " + user + " 30s")
编辑 2:
预期输出:
如果在所有大写字母中找到一条消息,它将打印此消息并让用户超时:
message("[-] Woah! Hold back on the caps, " + user + "! (Timeout 30s)")
电流输出: 机器人不会接收消息或运行脚本代码。
【问题讨论】:
-
“没用” - 我们需要更多信息。请添加您遇到的所有错误消息和意外行为。
-
你试过像
stri = str(msg)这样的简单演员吗?我重命名了 str 变量,因为它是一个不允许的名称。 -
str 是保留关键字!
标签: python string twitch chatbot