【问题标题】:How would args be defined in discord.js?discord.js 中如何定义 args?
【发布时间】:2019-08-31 01:47:14
【问题描述】:

基本上,我有一个应该清除消息/泛滥聊天的命令(它是给朋友的,不要问),但是我不断收到关于 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')
};

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

【问题讨论】:

  • 有问题的代码是什么?这是您将args 传递给的函数内部吗? args 真的定义了吗?
  • 问题是我不确定如何定义 args,我不确定应该添加什么代码以供参考,但问题是定义
  • 这是整个文件吗?这看起来甚至不会编译。第一个 if 语句似乎什么也没做,最后一个 elif 的右括号丢失了……您需要提供更多上下文。
  • 这不是整个文件,@Geekfish,这只是args 的一部分,我只是在研究如何正确定义参数。
  • 这都应该在文档中discordjs.guide/creating-your-bot/commands-with-user-input.html 通常您应该提供上下文“完整​​”的代码,如果您提供的代码存在结构问题,那么人们很难阅读并弄清楚到底出了什么问题。

标签: javascript node.js discord.js


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我想你想要这样的东西。

      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')
     }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-01
      • 2018-11-16
      • 2021-10-06
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多