如何在discord.js中定义arg?

时间:2019-04-09 17:38:40

标签: javascript node.js discord.js

从本质上讲,我有一个应该清除消息/泛滥聊天的命令(它是给朋友的,不要问),但是我不断收到有关未定义的args的错误信息,我将如何解决该问题?

背景:我一直在修补我的spaggehti代码(包括bot.on和if / else字符串),并一直尝试使用args,但是args不能定义并且const无法使用。

{
   if(message.content == '^immigrantalert')
   require ;amount = parseInt(args[0]);
   if (isNaN(amount)) {
        return message.reply('Immigrant purges need a god damn number after the command you twat');
   }
 else if (amount < 2 || amount > 100) {
  return message.reply('you need to input a number between 2 and 100 for Deportation you smack.');
  message.channel.bulkDelete(amount);
  message.reply('RULE BRITANNIA')
  message.reply('RULE BRITANNIA')
  message.reply('RULE BRITANNIA')
  message.reply('RULE BRITANNIA')
  message.reply('RULE BRITANNIA')
  message.reply('RULE BRITANNIA')
  message.reply('RULE BRITANNIA')
};

预期的输出是在执行命令时进行的消息清除和泛洪,但是输出是我的终端崩溃,导致代码无法正常工作。

2 个答案:

答案 0 :(得分:0)

我想你想要这样的东西。

  let command = '^immigrantalert';
  if(message.content.includes(command)) { //look for command in message

     //check the end of the message for the amount
     let amount = parseInt(message.content.slice(command.length));

    if (isNaN(amount)) {
           return message.reply('Immigrant purges need a god damn number after the command you twat');
    } else if (amount < 2 || amount > 100) {
       message.reply('you need to input a number between 2 and 100 for Deportation you smack.');
      message.channel.bulkDelete(amount);
      message.reply('RULE BRITANNIA')
      message.reply('RULE BRITANNIA')
      message.reply('RULE BRITANNIA')
      message.reply('RULE BRITANNIA')
      message.reply('RULE BRITANNIA')
      message.reply('RULE BRITANNIA')
      message.reply('RULE BRITANNIA')
 }
}

答案 1 :(得分:0)

您需要将此添加到您的代码const args = message.content.slice(client.config.prefix.length).trim().split(/ +/g); const command = args.shift().toLowerCase();