【问题标题】:How do I get the tweet someone is mentioning my bot's username in reply to with Tweepy?我如何获得有人提到我的机器人用户名以回复 Tweepy 的推文?
【发布时间】:2021-04-01 15:15:18
【问题描述】:
我正在尝试使用 Tweepy 创建一个 Twitter 机器人来回复提及,但需要处理提及正在回复的推文。除了如何获取提及正在回复的推文之外,我已经弄清楚了其他所有事情。我已经多次查看文档,但无法找到一种方法来做到这一点。非常感谢任何帮助。
【问题讨论】:
标签:
python
python-3.x
api
tweepy
twitterapi-python
【解决方案1】:
让您的机器人回复用户的 screen_name 是我认为您在这里所要求的。您需要:
-
类 MyStreamListener(tweepy.StreamListener)
-
在类内部,函数 on_status(self, status) 和 on_error(self, status_code)
class MyStreamListener(tweepy.StreamListener):
def on_status(self, status):
name = status.user.screen_name
id_str = status.id_str
message = " // < message > //"
reply_tweet = "@" + str(name) + " " + message
api.update_status(reply_tweet, in_reply_to_status_id= id_str)
print(" <tweet received> " + status.text)
print(" tweet sent back > " + reply_tweet)
def on_error(self, status_code):
if status_code == 420:
print("rate limit reached")
return False
我建议在 while 循环函数中设置一个计时器以避免速率限制