我正在尝试向我的机器人添加批量删除命令,但是当我键入要删除的邮件数量时,出现以下错误:
TypeError [MESSAGE_BULK_DELETE_TYPE]: The messages must be an Array, Collection, or number.
这是代码:
else if (isVallidCommnad(message, "delete")){
if (!message.member.hasPermission('KICK_MEMBERS')) return message.channel.send("You cannot delete messages :/");
if(!args[0]) return message.reply(" How many messages do you want to delete (limit 99)");
if(parseInt(args[0]) > 99) return message.reply("You can't delete more than 99 messages at once dude!!");
message.channel.bulkDelete(parseInt(args[0]) + 1 ).then(message =>{
message.channel.send(`Cleared ${args[0]} messages!`).then (message =>message.delete({timeout: 300}));
message.react("?")
}).catch((err) =>{
console.log(err)
return message.reply("An error occurred!")
})
答案 0 :(得分:0)
const deleteCount = parseInt(args[0], 10);
if (!deleteCount || deleteCount < 1 || deleteCount > 100) return;
message.channel.bulkDelete(deleteCount + 1).catch(error => message.reply(`Couldn't delete messages because of: ${error}`));
要使用parseInt()
,必须添加十进制基数,因此10-> parseInt(args[0], 10);
。
我上面输入的代码段运行良好。