Javascript Discord.JS如何传输参数

Javascript Discord.JS如何传输参数,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我需要将参数从一个命令转移到另一个命令 我需要从以下位置传输参数(订单)的命令: 我需要转移到的命令: if(cmd === `${prefix}deliver`){ if(!args[1]) message.reply("Please provide an order number.") let eekowo2 = fs.readFileSync('orderAuthors.txt', 'utf8') deliverEmbed

我需要将参数从一个命令转移到另一个命令

我需要从以下位置传输参数(订单)的命令:

我需要转移到的命令:

if(cmd === `${prefix}deliver`){
        if(!args[1]) message.reply("Please provide an order number.")
        let eekowo2 = fs.readFileSync('orderAuthors.txt', 'utf8')
        deliverEmbed = new Discord.MessageEmbed()
        deliverIcon = message.guild.iconURL
        deliverEmbed.addField("Invite", invite)
        deliverEmbed.addField("Customer", eekowo2)
        deliverEmbed.addField("Items", orderEmbed.order)
          message.author.send(deliverEmbed)
      }

这可能吗?若有,;怎么做?

您有两个选择:

  • 如果您使用的是命令处理程序,则可以要求()另一个命令文件,通过module.exports调用包含其代码的函数,并将args作为参数传入
  • 如果您没有使用命令处理程序,并且所有命令都在您的index(或bot).js文件中,则获取第二个命令的代码,并将其复制到全局范围内的函数中,然后在If语句的正常部分调用该函数,并调用第一个命令,将args作为参数传递给两者,除所有其他必要信息外,如“消息”
  • 将要运行的代码复制到第一个命令中。(不推荐,但可能)
  • 我的建议是选择选项1,但看起来好像您没有使用命令处理程序,因此这里有一个#2的可能应用程序:

    //第一个命令
    const invite=wait message.channel.createInvite()
    如果(cmd==`${prefix}顺序`){
    if(!args)返回message.reply(“请指定您要订购的商品”)
    console.log(args)
    baseOrderNumber++;
    变量顺序=args.join(“”)
    让orderEmbed=newdiscord.MessageEmbed()
    订单图标=”https://i.imgur.com/Le0Eist.png"
    orderEmbed.setTitle(“新订单”)
    orderEmbed.setColor(“#FF2D00”)
    orderEmbed.set缩略图(orderIcon)
    orderEmbed.addField(“订单号”,baseOrderNumber)
    orderEmbed.addField(“订单”,订单)
    orderEmbed.addField(“客户”,message.author)
    orderEmbed.addField(“服务器邀请”,邀请)
    bot.channels.cache.get('7238675489914891').send(orderEmbed)
    让eekowo=fs.writeFileSync('orderAuthors.txt',message.author.tag,order);
    交付(消息、不一致、args);
    }
    //第二指挥部
    如果(cmd==`${prefix}deliver`){
    交付(消息、不一致、args);
    }
    //在全球范围内
    函数传递(消息、嵌入、参数){
    如果(!args[1])消息。回复(“请提供订单号”)
    //^如果这是一个错误检查,您可能希望在答复之前将return放在此处
    让eekowo2=fs.readFileSync('orderAuthors.txt','utf8')
    deliveredembed=newdiscord.MessageEmbed()
    delivery=message.guild.iconURL
    deliverEmbed.addField(“邀请”,邀请)
    deliverEmbed.addField(“客户”,eekowo2)
    deliverEmbed.addField(“Items”,orderEmbed.order)
    message.author.send(deliverEmbed)
    }
    
    }
    您能提供更多的代码吗?这是什么函数,从哪里获取参数?
    let args=messageArray.slice(1)
    澄清:
    let messageArray=message.content.split(“”)
    您不只是将参数保存在全局数组中吗?将其作为全局数组,然后在本地块中使用它
    if(cmd === `${prefix}deliver`){
            if(!args[1]) message.reply("Please provide an order number.")
            let eekowo2 = fs.readFileSync('orderAuthors.txt', 'utf8')
            deliverEmbed = new Discord.MessageEmbed()
            deliverIcon = message.guild.iconURL
            deliverEmbed.addField("Invite", invite)
            deliverEmbed.addField("Customer", eekowo2)
            deliverEmbed.addField("Items", orderEmbed.order)
              message.author.send(deliverEmbed)
          }