删除 discord-py 中的消息列表

Deleting a list of messages in discord-py

Whosebug 社区。 我正在我的 discord fun bot 上做一个琐事命令。

我希望它在游戏结束时删除它发送的消息。

我想通过将所有消息对象添加到列表然后在命令末尾删除所有对象来实现。

我知道您可以遍历列表然后将它们 1 1 1 删除,但我非常害怕速率限制。有没有办法在 1 个 API 调用中删除消息列表?

提前致谢!

你可以使用这个: https://discordpy.readthedocs.io/en/latest/api.html#discord.TextChannel.delete_messages

await TextChannel.delete_messages(messages)

另一种选择是,如果你知道问答游戏的最大时间,你可以在 send() 中使用 delete_after kwarg: https://discordpy.readthedocs.io/en/latest/api.html#discord.abc.Messageable.send

await Messageable.send('content', delete_after=SECONDS)

如果我没记错的话,discord.py 会为您处理速率限制,所以您不必太担心。 (我不确定,请仔细检查!)