bulkDelete 方法未按预期工作
bulkDelete method not working as intended
我正在制作一个清理聊天的命令,这样您就可以删除垃圾邮件或不需要的聊天等。该命令曾经运行良好,但再次运行失败,所以我倾向于认为这是不正常的我的控制,但我不知道。
try {
let mod = message.guild.roles.find(role => role.name === "Mods");
if (!message.member.roles.has(mod.id)) return message.reply('You are not allowed to use this command.');
if (isNaN(args[0])) return message.reply("Please supply a number of messages to delete.");
if (args[0] > 100 || args[0] < 2) return message.reply('Please supply a number between 2 and 100 to delete.');
message.channel.bulkDelete(args[0] + 1);
} catch (err) {
console.log(err)
}
如前所述,它一次按预期工作,每隔一次,它只是删除数百条消息,似乎没有任何原因。也许是因为我现在是自托管,这是一个延迟问题?不确定,无论哪种方式,任何帮助都会非常感激。谢谢。
很遗憾您还没有阅读 official manual about bulkDelete method
否则你会知道它returns承诺。
还要记住这一点:
Bulk delete given messages that are newer than two weeks.
This is only available when using a bot account.
因此,如果您的帐户是机器人帐户,您可以这样做:
message.channel
.bulkDelete(args[0] + 1)
.then(messages => console.log(`Bulk deleted ${messages.size} messages`))
.catch(console.error);
我正在制作一个清理聊天的命令,这样您就可以删除垃圾邮件或不需要的聊天等。该命令曾经运行良好,但再次运行失败,所以我倾向于认为这是不正常的我的控制,但我不知道。
try {
let mod = message.guild.roles.find(role => role.name === "Mods");
if (!message.member.roles.has(mod.id)) return message.reply('You are not allowed to use this command.');
if (isNaN(args[0])) return message.reply("Please supply a number of messages to delete.");
if (args[0] > 100 || args[0] < 2) return message.reply('Please supply a number between 2 and 100 to delete.');
message.channel.bulkDelete(args[0] + 1);
} catch (err) {
console.log(err)
}
如前所述,它一次按预期工作,每隔一次,它只是删除数百条消息,似乎没有任何原因。也许是因为我现在是自托管,这是一个延迟问题?不确定,无论哪种方式,任何帮助都会非常感激。谢谢。
很遗憾您还没有阅读 official manual about bulkDelete method
否则你会知道它returns承诺。
还要记住这一点:
Bulk delete given messages that are newer than two weeks.
This is only available when using a bot account.
因此,如果您的帐户是机器人帐户,您可以这样做:
message.channel
.bulkDelete(args[0] + 1)
.then(messages => console.log(`Bulk deleted ${messages.size} messages`))
.catch(console.error);