首页 > 解决方案 > 长 discord.js 参数

问题描述

我从 discord.js 开始,我有一个问题。当前是否可以使用我必须使用的无限参数message.channel.send(${args}),例如,当我键入 $test 1 2 时,只会发送 1,而 2 不会请帮助我想为命令 $kick 说明原因,但只有一个参数first 经常只看到第一句话而不是全部原因请帮助!

我想你不明白我的意思,我的意思是参数不应该是一个单词,例如 command:$embed hello word :) 我希望机器人发送:hello word :) 但它发送:hello without word 和 :) 不一定是 hello word :) 它必须是用户给出的词 我希望我写得很清楚以寻求帮助 谢谢!

const Discord = require('discord.js');
const client = new Discord.Client();
const config = require('./config.json');
const fs = require('fs');
const prefix = "$";
const RED  = "#EC0F0F";
const BLUE = "#1725E7";
const GREEN = "#17E729";
const FIOLET = "#880FEC";


client.once('ready', () => {
    console.log('Ready!');

});

client.on('message', async message => {
    if (!message.content.startsWith(prefix) || message.author.bot) return;

const args = message.content.slice(prefix.length).trim().split(' ');
const command = args.shift().toLowerCase();
    console.log(message.content);

    if (message.content === `$embed`) {
      const embesmess = new Discord.MessageEmbed()
      .setTitle(`${args[0]}`)
      .setColor(`${GREEN}`)
      .setdescription(`HERE I WANT THIS ARGUMENT`)

      message.channel.send(embesmess);
    }

}); 

client.login(config.token);

标签: javascriptnode.jsdiscorddiscord.js

解决方案


使用类似的东西

if (message.content.startsWith(`$embed`)) {
      const embesmess = new Discord.MessageEmbed()
      .setTitle(`${args.slice(1).join(" ")}`) //join all arguments besides the first
      .setColor(`${GREEN}`)
      .setdescription(`HERE I WANT THIS ARGUMENT`)

      message.channel.send(embesmess);
    }

这将结合您的所有论点,不包括第一个论点。


推荐阅读