删除频道中的每条消息

Posted

技术标签:

【中文标题】删除频道中的每条消息【英文标题】:Delete every message in a channel 【发布时间】:2021-02-18 14:06:14 【问题描述】:

如何删除文本频道中的每条消息? This 工作,但速度很慢。 (删除所有内容最多可能需要 15 秒,具体取决于数量)我无法使用它,因为速度在我的实现中很重要。

我还尝试删除整个频道并创建一个具有相同属性的新频道,这也有效,但是当机器人随后尝试向频道发送消息时遇到了一些问题。 (未知通道错误)

进一步说明:这必须能够删除多达数千条消息。

如果您对我的问题有任何疑问,请询问,我会尝试进行相应的编辑。

【问题讨论】:

【参考方案1】:

如果你也添加代码就好了。

message.channel.messages.fetch().then((messages) => 
    var allMsg = messages.filter((msg) => msg.author.bot);
    message.channel.bulkDelete(allMsg);
);

【讨论】:

很遗憾,我无法添加代码,因为我所做的大部分工作都是我尝试过的,然后又被删除了。您的解决方案效果很好......除非它超过 100 条消息。我怎么能改变它,以便它可以删除每条消息,即使它超过 100 条?

以上是关于删除频道中的每条消息的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法对使用 discord.js 发送的每条消息做出反应

JavaMail:区分电子邮件线程中的每条消息

删除表中的每条记录时重新启动Id = 1? (角度 + Spring Boot + MySQL)

Discord Bot 删除特定频道中的消息

Python Discord Bot Prune 命令

Discord.js 机器人在频道中的 10 条消息后发送消息