我有一个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:");
}
}
}
我想通过打字来运行它
#broadcast Hi, how are you?
所以它会发“你好,你好吗?”所有的公会成员。
但是,它当前将整个命令作为消息发送…因此,它将以下信息发送给协会的所有成员:
#广播你好,你好吗?
我知道问题出在这一行:
let message2broadcast = msg.content.substr(prefix + "broadcast ".length);
编辑
我试着这样做:
let message2broadcast = msg.content.split(' ')[1];
但这只能从输入的信息中得到“嗨”。
我想得到包括空格在内的论点。
任何帮助都将不胜感激。
谢谢!