问题描述
我目前正在为一个特定的 YouTube 频道开发聊天机器人,它已经可以从当前活动的实时聊天中获取消息。然而,我注意到我的配额使用量猛增,所以我采取了“自由”来计算我的配额成本。
我的 API 调用目前看起来像这样 https://www.googleapis.com/youtube/v3/liveChat/messages?liveChatId=some_livechat_id&part=snippet,authorDetails&pageToken=pageTokenIfProvided
,它使用了 5 个单位。我通过运行一个 API 调用并比较前后的配额使用情况来检查这一点(如果这不准确,请见谅)。响应包含设置为 pollingIntervalMillis
毫秒的 5086
。目前,我的机器人将该间隔添加到当前日期时间并安排在那个时间的下一次获取(使用 Celery),因此它当前以 4-6 秒的速度获取消息。我会冒昧地等待 6 秒。
计算我的 API 配额将导致每天使用 72.000 个单位:
10 requests per minute * 60 minutes * 24 hours = 14.400 requests per day
14.400 requests * 5 units per request = 72.000 units per day
这意味着,如果我使用 pollingIntervalMillis
作为请求频率的准则,我可以通过运行机器人 3 小时 20 分钟轻松达到 10.000 个单位的最大配额。为了不通过获取聊天消息来使用配额,我需要每分钟运行 1 个 API 调用(大约 1,3889 个)。这对于聊天机器人来说是非常不可行的,因为这仅用于获取消息,甚至不向聊天发送任何消息。
所以我的问题是:是否有更有效的方式来获取不会用完配额的聊天消息?或者我只能通过申请配额延期来解决这个问题?如果这只能通过配额扩展来解决,我需要可靠地要求多少?大约 10 万台?甚至更多?
我也在问自己,像 Streamlabs Chatbot(以前称为 AnkhBot)之类的东西是如何在不达到配额限制的情况下实现这一点的,尽管他们的 API 客户端有成千上万的用户,他们的配额可能达到数百万或数十亿。
另一个问题是,如果机器人仍处于这种“早期”开发状态,我将如何实际填写表单?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)