[英]Clear command is not deleting messages correctly discord.js v13
当我想使用以下代码清除消息时:
await message.channel.messages.fetch({limit: args[0]}).then(messages =>{
message.channel.send(`Deleting Messages...`).then(msg => {
setTimeout(() => msg.delete(), 500)
})
message.channel.bulkDelete(messages);
});
它有效,但是当我说:“${prefix}clear 3”时,它会删除 2 条消息。 或者当消息超过过去 14 天时,它不能删除消息。
列表:
额外说明:我使用的是 discord.js v13 和 node.js v16
message.delete()
添加过滤器或删除命令Channel.bulkDelete()
默认不会删除超过 2 周的消息! 要启用filterOld
参数,您必须使用Channel.bulkDelete(number, true)
并且您也可以删除这些消息!首先,您的命令是一条消息,这就是为什么它删除的数量少于该数量。其次,机器人无法删除超过 2 周的消息第三,您不能删除超过 100 条消息。 所以你可以这样做:
const amount = args[0]
if (amount > 100 || amount < 1) {
return message.channel.send({content: `I cannot delete 100 messages or more`})
}
const messages = await message.channel.messages.fetch({
limit: amount + 1,
});
await message.channel.bulkDelete(messages, true)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.