【问题标题】:Why am I blocked from using the discord api? [closed]为什么我被阻止使用 discord api? [关闭]
【发布时间】:2021-03-13 00:19:52
【问题描述】:

我正在编写一个不和谐的机器人,但我随机收到了这个错误。据我所知,我暂时被discord.py api屏蔽了,但是“超过速率限制部分是什么意思?”

discord.errors.HTTPException: 429 Too Many Requests (error code: 0): 由于以下原因,您暂时无法访问我们的 API 经常超过我们的速率限制。请阅读我们的文档 https://discord.com/developers/docs/topics/rate-limits 防止这种情况发生 前进。

【问题讨论】:

  • 取决于您的代码,否则它是不言自明的。您的机器人/机器人向 API 发出了太多请求。请求限制已到位,以防止降低服务速度或防止应用程序中断。
  • 哦好的,谢谢你告诉我
  • 我投票结束这个问题,因为它不是关于编程的问题。
  • 我认为在编码程序中出错与编码非常相关

标签: python discord discord.py discord.py-rewrite


【解决方案1】:

超过速率限制意味着 Discord API明确告诉您在给定的时间内无法从他们的 API 读取更多数据。

查看他们的rate limit docs,速率限制因您正在与之交谈的端点而异:

HTTP API 根据 RFC 6585 实施了一个用于限制和防止过多请求的流程。经常达到和忽略速率限制的 API 用户将被撤销其 API 密钥,并被平台阻止。有关请求速率限制的更多信息,请参阅速率限制部分。

为了提供帮助,他们方便地返回了一些关于您在速率限制方面的立场的信息:

X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1470173023
X-RateLimit-Bucket: abcd1234
...

如果您使用requests 库,您可以轻松检查您是否接近超出速率限制:

req = requests.get("https://discord.com/api/path/to/the/endpoint")

req.headers["X-RateLimit-Remaining"] # How many more requests you can make before `X-RateLimitReset`

【讨论】:

  • 你能在 MWE 中显示请求内容吗?
猜你喜欢
  • 2018-04-18
  • 2021-07-28
  • 1970-01-01
  • 2021-07-27
  • 2018-06-13
  • 1970-01-01
  • 2021-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多