Discord.js |拆分消息

Discord.js | split a message

我是开发界的新手,我想练习做 JS,我了解到 Discord 机器人可以用这种语言完成,我觉得练习很酷。

我的问题:我想将命令与消息的其余部分分开。我设法将命令与单词分开,但是当我输入几个单词时,它不起作用。这是它的作用:

(!Command HELLO" will send "Command + Hello", but "!command HELLO HI" will not work)

const PREFIX = "!";
bot.on('message', function(message) {
 if(message.content[0] === PREFIX) {
  let splitMessage = message.content.split(" ");
  if(splitMessage[0] === '!command') {
   if(splitMessage.length === 2) {
    message.channel.send('Command + ' + splitMessage[1]);
   }
  }
 }
});

谢谢

 splitMessage[1]

从拆分数组中取出第二个单词。因此 Command! Hello world 将是 Hello。您可能希望从拆分消息的第一个元素之后获取所有内容,如下所示:

splitMessage.slice(1)

那个returns["Hello", "World"],所以你只需要将它连接回一个字符串

 .join(" ")

我会怎么做:

  const [command, ...args] = message.content.split(" ");

  switch(command){
    case "!Command":
       message.channel.send('Command + ' + args.join(" "));
    break;
    //....
  }

正如我在评论中所说:

    const PREFIX = "!";
    bot.on('message', function(message) {
        if(message.content[0] === PREFIX) {
            let command = message.content.substring(message.content.indexOf(" ") + 1, message.content.length);
            message.channel.send('Command + ' + command);
        }
    });