【发布时间】:2018-07-03 19:15:26
【问题描述】:
我正在尝试从我的配置文件中合并 2 个 JSON 数组以将它们推送到成员角色
JSON 配置
{
"adminRoles": [
"ADMIN",
"LA REINA DE BELLEZA"
],
"moderatorRoles": [
"MODERATOR",
"BOT"
]
}
然后将合并后的2个数组push进去
// This command must be limited to mods and admins.
if (!message.member.roles.some(r => [COMBINED_ROLES_HERE].includes(r.name))) {
return message.reply("Sorry, you don't have permissions to use this!");
}
有人能指点我正确的方向吗?
我试过了
console.log(client.config.adminRoles.concat(client.config.moderatorRoles));
然后返回
[ "ROLE 1", "ROLE 2" etc... ]
但这不起作用。我也试过 .join() 并且可以返回
"ROLE 1", "ROLE 2" etc...
但这也行不通。
【问题讨论】:
-
当您的值为
[ "ADMIN", "LA REINA DE BELLEZA" ]和[ "MODERATOR", "BOT" ]时,您如何获得[ "ROLE 1", "ROLE 2" etc... ]? -
我写这些只是为了说明退货的风格。我实际上是在返回 ADMIN、LA REINA DE BELLEZA 等......
-
好的。你想达到什么目标?请使用
message.member.roles更新问题。 -
所以当我做
if (!message.member.roles.some(r => ["ADMIN", "MODERATOR"].includes(r.name))) {时它可以工作,所以当我连接然后加入返回“ADMIN”、“MODERATOR”等时,它应该可以工作,但机器人正在回复带有我没有正确权限的消息,这是错误的,因为我具有管理员不和谐角色。所以我想知道这是discord.js的限制还是我做错了什么。 -
记录
COMBINED_ROLES_HERE的值并检查它是否已经是一个数组。
标签: javascript arrays json node.js discord.js