首页 > 解决方案 > 拆分参数 Discord.js

问题描述

我试图splitargs不仅仅是空格。我正在尝试在不同的参数中添加空格以创建动态嵌入。

'!嵌入标题;作者;描述'

但我的代码实际上将命令(“嵌入”)作为第一个参数(“标题”)发送。我怎样才能防止这种情况?

“消息”事件:

let input = message.content;
let prefix = input[0];
let command = input.substr(1).split(' ')[0];
let args = command.substr( command.indexOf(' ') + 1 );

命令:

args = args.split(';').map(elem => elem.trim());
let [autor, titulo, texto] = args;
message.channel.send(
   new Discord.MessageEmbed()
      .setAuthor(autor, '')
      .setTitle(titulo)
      .setDescription("\n\n"+texto)
      .setColor("000000")
);

标签: javascriptdiscord.js

解决方案


您可以将其拆分message content为实际commandargs

const input = "!myCommand my first arg;arg2;arg3";
const args = input.slice(1).substring(input.indexOf(' ')).split(';');
const command = input.slice(1).split(' ').splice(0, 1)[0];

console.log(`Command: ${command}`);
console.log('Args: ' + args);


参考


推荐阅读