在 Tweepy 中标记时获取推文
get tweet when tagged in Tweepy
我正在使用 tweep 和 gTTS 开发自动文本语音生成器。
我想要的是,每当用户标记我的机器人时,我的机器人将使用他们的推文生成的 TTS 响应进行回复。
例如,如果 Malcolm 发推文“@bot Banana Bread”,那么机器人将使用 mp4 语音文件回复该推文 "banana bread"
我想我可以用 gTTS 和一些乱七八糟的东西来拉动 TTS 生成。
但是我不知道如何在我被标记时自动获取推文 ID 和推文文本。
我看到的唯一方法就是不断刷新一个
example = tweepy.Cursor(api.search, q='@bot').items(1)
然后
for tweet in example:
print tweet.text, tweet.id_str
然后存储 id,以便它只获取最新的帖子,而不会对同一条推文回复两次。
但这似乎有点多,我想知道是否有任何 faster/easier/more 有效的方法来做到这一点?
你的方法很好:存储你回复的推文 ID,并在新回复之前检查它们。随着时间的推移,可能会有很多 ID,因此您必须处理删除非常旧的 ID。
另一种方法是使用 Twitter 帐户 Activity API:通过 webhook(您的个人网络服务器的 URL),您可以获得提及事件,然后简单地回复直接。
如果我了解官方文档,1 个免费的 webhook 可以付费使用 API。
这是文档:
我正在使用 tweep 和 gTTS 开发自动文本语音生成器。
我想要的是,每当用户标记我的机器人时,我的机器人将使用他们的推文生成的 TTS 响应进行回复。
例如,如果 Malcolm 发推文“@bot Banana Bread”,那么机器人将使用 mp4 语音文件回复该推文 "banana bread"
我想我可以用 gTTS 和一些乱七八糟的东西来拉动 TTS 生成。
但是我不知道如何在我被标记时自动获取推文 ID 和推文文本。
我看到的唯一方法就是不断刷新一个
example = tweepy.Cursor(api.search, q='@bot').items(1)
然后
for tweet in example:
print tweet.text, tweet.id_str
然后存储 id,以便它只获取最新的帖子,而不会对同一条推文回复两次。
但这似乎有点多,我想知道是否有任何 faster/easier/more 有效的方法来做到这一点?
你的方法很好:存储你回复的推文 ID,并在新回复之前检查它们。随着时间的推移,可能会有很多 ID,因此您必须处理删除非常旧的 ID。
另一种方法是使用 Twitter 帐户 Activity API:通过 webhook(您的个人网络服务器的 URL),您可以获得提及事件,然后简单地回复直接。
如果我了解官方文档,1 个免费的 webhook 可以付费使用 API。
这是文档: