- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我曾经有一些运行良好的 python,可以在 Tweepy 流监听器上自动回复,但由于 8 月份 Twitter API 发生变化,它不再有效。
我正在重新构建它,每 10 秒获取一次我最近提到的内容(理想情况下它会更少,因为我想做近乎即时的回复),并检查它是否在最后十秒内......如果然后脚本假定这是一条新推文并回复。
from tweepy import OAuthHandler
from tweepy import API
from datetime import datetime, time, timedelta
consumer_key = ''
consumer_secret = ''
access_token = ''
access_token_secret = ''
account_screen_name = ''
account_user_id = '897579556009332736'
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
twitterApi = API(auth)
mentions = twitterApi.mentions_timeline(count=1)
now = datetime.now()
for mention in mentions:
if now < (mention.created_at + timedelta(hours=1) + timedelta(seconds=10)):
print "there's a mention in the last 10 seconds"
# do magic reply stuff here!
else:
print "do nothing, no recent tweets/the last mention was more than 10 seconds ago so it isn't new"
这可以每 12 秒循环一次;但是再少一点就会达到速率限制(即上面的这种方法在 10 秒时最终会达到速率限制)......所以,有没有更好的方法来检索最近提到的内容以便根据提到?我觉得我可能以一种非常低效的方式来做这件事(例如,这个方法实际上得到了最后 20 次提及!!)并且 API 可能有一个更好的方法,我可以在不达到速率限制的情况下更频繁地做?
最佳答案
回答
使用 tweepy:否
使用其他方法:是的,但不是免费的
解释
首先要了解的是,Twitter 确实允许通过其 API 实时流式传输推文。接下来是可以使用他们的 API 来跟踪包含一些 @TrackedUsername
的推文,以实时跟踪提及。然而,虽然第一个功能可以通过许多库和包装器 API 免费使用,但第二个功能却不是。这是他们锁定在每月订阅他们的高级或企业 api 之后的功能之一。
我所知道的是,人们不会使用分布式的 tweepy 来利用这些服务。也许外面有人修改了它以供个人使用以兼容这些功能,但如果是的话我还没有找到它。人们使用的是 Python Twitter API .
猜测
由于我自己从未使用过他们的高级服务,因此值得阅读我接下来要说的内容,但据我了解,他们的付费使用服务的身份验证协议(protocol)略有不同,这就是导致问题的原因与 tweepy。
回到事实
基本上这意味着搜索 @TrackedUsername
将不会返回任何内容,搜索 TrackedUsername
将不会返回包含 @TrackedUsername
的推文> 或 #TrackedUsername
(除非它也只包含 TrackedUsername
,但您跟踪的是文本而不是提及)。主要是因为 Twitter 想通过这项服务获得报酬。
如果您确实选择为此服务付费,那么最常用的 python 实现是 Python Twitter API正如刚才提到的。这些功能将允许您以更高的速率限制实时跟踪包含提及的推文,并支持更远地搜索过去的推文。
关于python - 使用 Tweepy 避免速率限制从 API 获取最后的 Twitter 提及,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53031465/
我最近一直在尝试用 python 开发一个 discord 机器人。我这样做是为了如果一条消息包含某个数字,它会使用react并发送一条消息。这是 cog 文件中的代码: import discord
我有一个用于 channel 存档和组织的机器人。当有人提到 channel 时,我试图让它执行一些代码,以便将消息移动到它所属的 channel ,但我无法让它响应 channel 提及。 我以为会
如何在UILabel中检测链接/提及/标签并使其可单击。另外,是否有我可以利用的开源库(我已经看过了不处理多行tex的Fancy UILabel,不处理提及/标签的TTAttributedLabel)
来自推文的示例数据: 我总是在 #kampus 上见到 @gEmbul,我们总是打开该网站 https://www.youtube.com/ facebook# :) @007 日期是字符串,我想匹配
我一直在尝试制作一个发送命令,该命令可以将消息的作者发送给一个提到的用户,或者发送两个提到的用户。我可以在消息中获得第一次提及,但我不知道如何在消息中获得第二次甚至第三次提及。我尝试使用: messa
编辑 : 我自己找到了解决办法,谢谢大家看到这个帖子!解决办法是: /// SIMPLY ADD || message.member const taggedUser = message.mentio
这个问题已经有答案了: Fast punctuation removal with pandas (4 个回答) 已关闭 4 年前。 我想编写一个定义,它接受一个字符串(一条推文)并创建一个 2 列数
我正在设计一个应用程序,用户可以使用该应用程序从多个帐户发送多条推文(提及),并且正在使用 Twitter4j 进行同样的操作。对此,我有几个问题: 身份验证:应用程序有一个身份验证部分。我能够使用基
我有一个数据集,其中包含来自 Twitter 的推文。其中一些还包含用户提及,例如 @thisisauser。我尝试在执行其他清理过程的同时删除该文本。 def clean_text(row, opt
假设我们有 3 个表:tweet、users、tweet_mentusers,其中 tweet.user_id = users.id 和 tweet.id = tweet_mentusers.twee
我目前正在使用以下代码,它获取推文,然后将其传递给处理的函数。但这不是实时的。 auth = tweepy.OAuthHandler(consumer_key, consumer_secret) au
我需要创建一个正则表达式模式来查找名为 Tweets 的类中的提及。在这种情况下,“@”后的有效字符为:(A-Z 或 a-z)、数字、下划线(“_”)或连字符(“-”)。与经典 Twitter 用户名
这是示例图片 --> 我正在尝试使文本输入功能与 Facebook 的非常相似。以 @ 开头的提及将生成我的 friend 姓名列表,然后选择一个将充当类似对象的角色。因此,删除突出显示的单词将删除
所以我只需要一些关于如何在 Discord.js 上做某事的帮助。 我对如何使用 message.mentions.channels 感到非常困惑,并且文档没有帮助。 我只需要一个 console.l
我提到我的 friend 使用 Koala,Ruby 和 Sinatra。我查看了文档,但一无所获。记住这一点,我不想给我的 friend 发信息,但我想和我一起提到他。我的代码: @graph =
我想使用 api 在 slack 中发布消息。我怎样才能像@channel in slack 一样提及一个 channel 的所有团队成员? 最佳答案 您可以使用 . Example 您可以在 Sl
我试过使用 gem twitter , grackle , 和 TweetStream但我不知道如何获得用户@mentions 的流。 我只是想不出如何将一段代码放在一起,表示“让用户提及所有内容”。
我正在用 Node.js 编写一个应用程序,它允许用户在 twitter 等消息中相互提及。我希望能够找到用户并向他们发送通知。为了做到这一点,我需要拉 @usernames 从 node.js 中的
我试图从传入的 webhook 中提及用户。 我通过 postman 尝试了几次迭代 { "text": "test @user" } 或者 { "text": "test @user@email.c
我曾经有一些运行良好的 python,可以在 Tweepy 流监听器上自动回复,但由于 8 月份 Twitter API 发生变化,它不再有效。 我正在重新构建它,每 10 秒获取一次我最近提到的内容
我是一名优秀的程序员,十分优秀!