Javascript 获取包含空格的命令参数

Javascript 获取包含空格的命令参数,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我有这样一个Discord.js命令: 'broadcast': (msg) => { let message2broadcast = msg.content.substr(prefix + "broadcast ".length); if (!msg.channel.permissionsFor(msg.member).hasPermission("ADMINISTRATOR")) { msg.channel.sendMessage(msg.author

我有这样一个Discord.js命令:

'broadcast': (msg) => {
    let message2broadcast = msg.content.substr(prefix + "broadcast ".length);
    if (!msg.channel.permissionsFor(msg.member).hasPermission("ADMINISTRATOR")) {
        msg.channel.sendMessage(msg.author + " | No permissions! :x:");
        return;
    } else {
        if (!message2broadcast) {

            msg.channel.sendMessage(msg.author + " | No message entered. :x:");

        } else {
            let tosend2 = ["`Sender:`", msg.author, "`Server:`", msg.guild.name, "`Message:`", message2broadcast];
            msg.channel.guild.members.forEach(user => {
                user.send(tosend2.join('\n'));
            });
            msg.channel.sendMessage(msg.author + " | Successfully broadcasted. :white_check_mark:");
        }
    }
}
我想通过打字来运行它

#嗨,你好吗?

所以它会向所有公会成员发送“你好吗?”

但是,它当前将整个命令作为消息发送。。。因此,它向所有公会成员发送以下信息:
#广播嗨,你好吗?

我知道问题出在这方面:

let message2broadcast = msg.content.substr(prefix + "broadcast ".length);

编辑:我试着这样做:

let message2broadcast = msg.content.split(' ')[1];
但这将得到“嗨”,只有从消息输入


我想得到包含空格的参数

任何帮助都将不胜感激

谢谢

您可以使用和来实现这一点:

let message2broadcast = msg.content.split(' ').splice(1).join(' ')
它将消息拆分为一个数组,删除第一个值,然后加入其余值。

您可以使用和来实现这一点:

let message2broadcast = msg.content.split(' ').splice(1).join(' ')
它会将消息拆分为一个数组,删除第一个值,然后加入其余的值。

对“”的回答更好,但我找到了另一个解决方案:

var array = msg.content.split(' ');
array.shift();
let message2broadcast = array.join(' ');
这将首先将空格
(参数)
拆分为一个名为
array

的变量,然后调用
.shift()
函数从数组中删除第一个元素(包含前缀的命令)。现在,我们用最后一行中的空格替换数组的逗号以获得最终结果。

对“”的回答更好,但我找到了另一种解决方案:

var array = msg.content.split(' ');
array.shift();
let message2broadcast = array.join(' ');

这将首先将空格
(参数)
拆分为一个名为
array

的变量,然后调用
.shift()
函数从数组中删除第一个元素(包含前缀的命令)。现在,我们用最后一行中的空格替换数组的逗号以获得最终结果。

非常感谢!:)非常感谢!:)