将从服务器拉出的数据转换为字符串

时间:2014-08-25 03:10:52

标签: python string twitch chatbot

我已经在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)")

当前输出: 机器人不会选择消息或运行脚本代码。

1 个答案:

答案 0 :(得分:0)

试试这个:

data = irc.recv (4096)
# msg = data()
capsTime = "30s"
mystr = repr(data)
if mystr.isupper():
   message("[-] Woah! Hold back on the caps! (Timeout " + capsTime + ")")
   message("/timeout " + user + capsTime)
# variable "user" already defined

不要使用保留关键字。