WebSocket.exceptions.ConnectionClosed:WebSocket连接已关闭:代码=4008(私人使用),原因=Rate limited

WebSocket.exceptions.ConnectionClosed:WebSocket连接已关闭:代码=4008(私人使用),原因=Rate limited,websocket,discord.py,Websocket,Discord.py,我正在为我的bot使用Discord.py,出现以下错误: WebSocket.exceptions.ConnectionClosed:WebSocket连接已关闭:代码=4008私人使用,原因=速率限制 当我使用此选项时会发生: 尽管如此: activity=discord.Gamename=fsome stuff 等待客户端。更改\u presence活动=活动,状态=状态 它位于异步函数中,因此,它与异步/等待使用无关。我最近发现,它是由不断更新的while循环引起的,并导致服务器对速率进

我正在为我的bot使用Discord.py,出现以下错误: WebSocket.exceptions.ConnectionClosed:WebSocket连接已关闭:代码=4008私人使用,原因=速率限制

当我使用此选项时会发生:

尽管如此: activity=discord.Gamename=fsome stuff 等待客户端。更改\u presence活动=活动,状态=状态
它位于异步函数中,因此,它与异步/等待使用无关。

我最近发现,它是由不断更新的while循环引起的,并导致服务器对速率进行限制。

速率限制实际上没有太多定义,但如果您在一分钟内使用它超过5次,则会被视为API滥用,并且通常会出现此错误。你应该在10-20分钟内更换一次,因为这对机器人也有好处。如果你真的需要,每2-3分钟做一次。在发布类似的内容之前,您应该先查看文档。

很显然,由于您的状态更改频率很高,几乎没有任何延迟会使discord API将其视为API滥用

您可能想尝试为不断变化的状态添加适当的延迟

尽管如此: activity=discord.Gamename=fsome stuff 等待客户端。更改\u presence活动=活动,状态=状态 等待asyncio.sleep20时间(秒)
谢谢此外,我自己解决了问题,但这可以留作将来参考: