【问题标题】:Convert Data Pulled from Server To String将从服务器提取的数据转换为字符串
【发布时间】: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


【解决方案1】:

试试这个:

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

不要使用保留关键字。

【讨论】:

  • 谢谢你 - 它并没有很好地工作,因为它给了我这个错误消息:TypeError: 'str' object is not callable for the line msg = data() 我也忘了提到我对 Python 很陌生,所以对不起,如果我看起来很愚蠢,无法自己解决这个问题。
  • @pythagon 好的,我明白你的问题了。我更新了我的答案,让我知道它是否有效。
  • 修复了无法调用字符串的错误——错误是现在'msg'没有定义。
  • @pythagon 在这段代码中,不再有 msg。你在其他地方用过味精吗?您可以将 msg 替换为数据,然后重试。
  • 我添加了你所说的代码。它没有给出任何错误,但在 Twitch 聊天中测试时它不起作用。我已经用下面的新代码更新了我的原始帖子。
猜你喜欢
  • 2016-09-20
  • 1970-01-01
  • 2021-07-20
  • 2011-04-05
  • 1970-01-01
  • 1970-01-01
  • 2019-03-18
  • 2016-07-01
  • 1970-01-01
相关资源
最近更新 更多