检查频道是否有任何消息Discord.js



我正在尝试清除discord通道中的所有消息,直到它完全为空。

我的代码:

module.exports = {
name: 'clearall',
description: 'Clears ALL messages',
async execute(message, args) {
await message.channel.messages.fetch({
limit: args[0]
}).then(messages => {
while ( <insert function here> == true) {
message.channel.bulkDelete(100);
}
});
}
}

(主文件(main.js(中已经有一些代码用于调用该文件(

要实现这一点,可以使用TextChannel中的bulkDelete方法,如下所示。

async execute(message, args) {
await message.channel.messages.fetch({ limit: args[0] })
.then(messages => message.channel.bulkDelete(messages, true))
}

首先获取频道消息,然后用这些消息调用bulkDelete。请注意,正如方法描述中所述,您只能批量删除超过两周的消息,否则您将收到一个异常。因此,您可以使用第二个参数来过滤掉这些(默认值为false(。

最新更新