Javascript Discord.js clear命令不';我不接受数字
我使用在互联网上找到的模板来明确我的命令,以下是我迄今为止所做的:Javascript Discord.js clear命令不';我不接受数字,javascript,discord,discord.js,Javascript,Discord,Discord.js,我使用在互联网上找到的模板来明确我的命令,以下是我迄今为止所做的: module.exports = { name: "clear", description: "clear", execute(message, args) { const amount = args.join(" "); if (!amount) return message.reply( "You haven't given an amount of message
module.exports = {
name: "clear",
description: "clear",
execute(message, args) {
const amount = args.join(" ");
if (!amount)
return message.reply(
"You haven't given an amount of messages which should be deleted!"
);
if (isNaN(amount))
return message.reply("The amount parameter isn`t a number!");
if (amount > 100)
return message.reply("You can`t delete more than 100 messages at once!");
return message.reply("You have to delete at least 1 message!");
message.channel.messages.fetch({ limit: amount }).then((messages) => {
message.channel.bulkDelete(messages);
});
},
};
即使我在_clear命令后写了一个数字,它也会这样说:“amount参数不是一个数字!”如果有人键入了一些不是数字的东西,机器人应该发送这个消息。有人能帮我吗?假设您的金额总是以
参数[0]
的形式收到,您可以分析此字符串并测试结果是否为如下所示的整数:
if(!parseInt(args[0], 10)) return message.channel.send("Not a number");
假设您的金额始终作为
args[0]
接收,您可以分析此字符串并测试结果是否为如下所示的整数:
if(!parseInt(args[0], 10)) return message.channel.send("Not a number");
isNaN()
也起到了作用,这更可能是因为args.join(“”)
@Karizma你是对的。至少OP有机会做出选择;pisNaN()
也起到了作用,这更可能是因为args.join(“”)
@Karizma你是对的。至少OP有机会做出选择;p尝试记录isNaN之前的金额
尝试记录isNaN之前的金额