python - Tweepy 与 Twitter 机器人和 Python 相关的问题

标签 python twitter bots tweepy try-except

我有一些在我的 raspberryPi 上运行的 Twitterbot。我将大多数函数包装在 try/except 中,以确保如果出现错误,它不会破坏程序并继续执行。

我还使用 Python 的 Streaming 库作为我希望机器人转发的标签的监控源。

尽管我将 main 函数封装在 try/except 中,但出现的问题导致程序终止:

Unhandled exception in thread started by <function startBot5 at     0x762fbed0>
Traceback (most recent call last):
  File "TwitButter.py", line 151, in startBot5
    '<botnamehere>'
  File "/home/pi/twitter/bots/TwitBot.py", line 49, in __init__
    self.startFiltering(trackList)
  File "/home/pi/twitter/bots/TwitBot.py", line 54, in startFiltering
    self.myStream.filter(track=tList)
  File "/usr/local/lib/python3.4/dist-packages/tweepy/streaming.py", line 445, in filter
    self._start(async)
  File "/usr/local/lib/python3.4/dist-packages/tweepy/streaming.py", line 361, in _start
    self._run()
  File "/usr/local/lib/python3.4/dist-packages/tweepy/streaming.py", line 294, in _run
    raise exception
  File "/usr/local/lib/python3.4/dist-packages/tweepy/streaming.py", line 263, in _run
    self._read_loop(resp)
  File "/usr/local/lib/python3.4/dist-packages/tweepy/streaming.py", line 313, in _read_loop
    line = buf.read_line().strip()
AttributeError: 'NoneType' object has no attribute 'strip'

我的设置: 我有一个父类 TwitButter.py,它从 TwitBot.py 创建一个对象。这些对象就是机器人,它们在自己的线程上启动,因此可以独立运行。

我在 TwitBot 中有一个运行 startFiltering() 函数的函数。它被包装在 try/except 中,但我的 except 代码从未被触发。

我的猜测是错误发生在 Streaming 库中。也许该库的编码很差,并且在回溯底部指定的行上中断。

任何帮助都会很棒,我想知道其他人是否遇到过这个问题?

如果需要,我可以提供额外的详细信息。

谢谢!!!

最佳答案

这实际上是 tweepy 中的问题,已由 github #870 修复2017-04。因此,应该通过将本地副本更新到最新的主版本来解决。

我做了什么才发现:

  • 通过网络搜索找到了 tweepy 源代码库。
  • 查看了 streaming.py 以了解最后回溯行的上下文。
  • 注意到最近对文件的更改也出现了同样的问题。

我还要指出,大多数时候,您从 Python 库内部深处获得回溯,问题来自于错误调用它的代码,而不是库中的错误。但不总是。 :)

关于python - Tweepy 与 Twitter 机器人和 Python 相关的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43964862/

相关文章:

python - 如何使用 python-pandas 同时分解两个数据框?

r - 用户从 R 查找 Twitter API 会导致错误 (403)

ios - Xcode Bot : how to get . 后触发脚本上的 ipa 路径?

IOS 获取 Twitter 当前热门趋势

twitter - 在 Twitter 上分享时不显示图像的缩略图

c# - Bot Framework 无法使用 AddKeyboardCard 或使用 ChannelData 发送 FacebookQuickReply

python - 如何在 Windows 10 上为 Discord Bot 修复 SSL 错误

python - 寻找一个可以让我折叠函数的 Python 编辑器

python - 如何将颜色条放入 matplotlib 图例中

python - 子进程 "TypeError: a bytes-like object is required, not ' str'"