Discord Bot (JDA) 速率限制
Discord Bot (JDA) Rate Limit
我在某处读到,您每 10 分钟只能修改 2 个频道,但您发送的消息也是这种情况,还是您只能每 10 分钟执行两次更改/发送/创建等操作?
.queue();
.complete();
和.submit();
有什么区别
提前致谢:D
速率限制会根据您执行的操作而变化。 Rate Limits
对于 .queue()
、.complete()
、.submit()
查看文档 here(第 7 点)。
速率限制通常是指更改频道的 name/topic 或 creating/deleting 频道。
但限制也可以应用于添加反应甚至发送消息,以防止 abuse/spam(您也可以注意到您是否在自己的不和谐服务器中发送垃圾邮件)。
来自 Discord 文档:“控制表情符号的路由不遵循正常的速率限制约定。这些路由在每个公会的基础上被特别限制以防止滥用。这意味着我们的 API 返回的配额可能不准确,您可能遇到 429s.
如果您正在创建一个定期添加表情的机器人,您可能需要在这些操作之间设置一个小的超时时间,否则机器人将受到速率限制并且只有在相当长的一段时间后才会恢复。
为了解决这个问题,我添加了一个布尔值,只有在添加最后一个表情符号的队列操作完成后才会重置。这是一个 hacky 解决方案,但确实有效。
我在某处读到,您每 10 分钟只能修改 2 个频道,但您发送的消息也是这种情况,还是您只能每 10 分钟执行两次更改/发送/创建等操作?
.queue();
.complete();
和.submit();
提前致谢:D
速率限制会根据您执行的操作而变化。 Rate Limits
对于 .queue()
、.complete()
、.submit()
查看文档 here(第 7 点)。
速率限制通常是指更改频道的 name/topic 或 creating/deleting 频道。 但限制也可以应用于添加反应甚至发送消息,以防止 abuse/spam(您也可以注意到您是否在自己的不和谐服务器中发送垃圾邮件)。 来自 Discord 文档:“控制表情符号的路由不遵循正常的速率限制约定。这些路由在每个公会的基础上被特别限制以防止滥用。这意味着我们的 API 返回的配额可能不准确,您可能遇到 429s.
如果您正在创建一个定期添加表情的机器人,您可能需要在这些操作之间设置一个小的超时时间,否则机器人将受到速率限制并且只有在相当长的一段时间后才会恢复。
为了解决这个问题,我添加了一个布尔值,只有在添加最后一个表情符号的队列操作完成后才会重置。这是一个 hacky 解决方案,但确实有效。