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有机会做出选择;p
isNaN()
也起到了作用,这更可能是因为
args.join(“”)
@Karizma你是对的。至少OP有机会做出选择;p尝试记录
isNaN之前的金额
尝试记录
isNaN之前的金额