Discord.js |分开一条消息

时间:2018-02-20 16:30:39

标签: javascript discord discord.js

我对开发世界很陌生,我想练习JS,我了解到Discord机器人可以用这种语言完成,我发现练习很酷。 我的问题:我想将命令与消息的其余部分分开。我设法将命令与单词分开,但是当我输入几个单词时,它不起作用(“!命令HELLO”将发送“Command + Hello”,但“!command 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]);
			}
		}
	}
});

由于

2 个答案:

答案 0 :(得分:0)

 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;
    //....
  }

答案 1 :(得分:0)

正如我在评论中所述:

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