问题描述
我使用“python-twitter”库构建了一个非常简单的推特机器人。基本上,它等待用户发推文来回应它。为此,我使用了一个 while 循环,它每分钟将用户发布的最后一条推文与程序启动时存储的推文进行比较。如果推文不同,则我们对其执行操作(在我的情况下为响应),否则我们等待。在这两种情况下,我们都会用最新的推文更新内存中的推文,以准备等待下一条推文。
此方法有效,但我想知道是否有更通用的方法,它包括而不是执行循环,以等待接收带有事件的单个推文以解决以下问题:用户推文两次在一分钟内,在这种情况下,只考虑最近的推文。或者超过了查询推文的最大请求量(我认为在 twitter API 中是 100 000)
我并不是要特别将解决方案应用于此程序,而是要了解无法在互联网上找到更精确资源的主题(如果可能仅使用 Java Script 或其他)
谢谢
解决方法
使用 TwitterAPI 的示例。
from TwitterAPI import TwitterAPI
USER_IDS = ['204832963']
api = TwitterAPI(<consumer key>,<consumer secret>,<access token key>,<access token secret>)
r = api.request('statuses/filter',{'follow': USER_IDS})
for item in r:
print(item['text'] if 'text' in item else item)