javascript - 获取包含空格的命令参数
问题描述
我有一个这样的 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?
所以它会发送“嗨,你好吗?” 给所有公会成员。
然而,它目前将整个命令作为消息发送......所以它向所有公会成员发送以下内容:#broadcast Hi, how are you?
我知道问题出在这一行:
let message2broadcast = msg.content.substr(prefix + "broadcast ".length);
编辑:我试图让它像这样:
let message2broadcast = msg.content.split(' ')[1];
但这只会从输入的消息中得到“嗨”。
我想得到包括空格的论点。
任何帮助,将不胜感激。
谢谢!
解决方案
推荐阅读
- python - 如果没有选择对象,则 View3d 运算符不可用。为什么?
- python-3.x - 自组织地图无法完美运行,始终与输出相同的类
- java - 如何在 Spring 中使用 @Id 注释来注释最终 id 字段
- android - RoomDb 查询返回 null
- macos - 如何在 Mac OS 上查看 Dot Net Core 项目的 Web 服务器日志?
- actionscript-3 - 我的角色怎么能向左箭头键或右键的方向跳跃?
- debian - 从 Devuan/Debian9 中删除 Python
- c# - 双关语 | 该过程被调用两次
- or-tools - VRPTW 的基准测试结果 - 比较 jsprit 和 ortools-vrp 求解器?
- python - sqlalchemy 多个嵌套查询,带有来自一个表的过滤器 AttributeError:“元组”对象没有属性“过滤器”