discord.js |拆分消息



我是开发世界的新手,我想练习JS,我了解到可以用这种语言完成Discord机器人,我发现练习很酷。p>我的问题:我想将命令与消息的其余部分分开。我设法将命令与单词分开,但是当我输入几个单词时,它不起作用。这就是它的作用:

(!命令Hello"将发送"命令 Hello",但是"!命令Hello Hi"将无法使用(

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]);
			}
		}
	}
});

谢谢

正如我在评论中所述:

    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);
        }
    });
 splitMessage[1]

从分裂的数组中获取第二个单词。因此,使用Command! Hello world将是Hello。您可能想在拆分消息中获得第一个元素之后的所有内容:

splitMessage.slice(1)

返回 ["Hello", "World"]

,因此您只需要将其加入字符串

 .join(" ")

我将如何做:

  const [command, ...args] = message.content.split(" ");
  switch(command){
    case "!Command":
       message.channel.send('Command + ' + args.join(" "));
    break;
    //....
  }

最新更新