discord.js - 检查用户是否在角色数组中具有特定角色

标签 discord.js

我正在尝试创建一个仅适用于某些角色的命令。 我尝试在数组中检查它们,但似乎不起作用。

命令:

const Command = require("../structures/Command.js");
const config = require("../data/config.json");

module.exports = new Command({
    name: "test",
    description: "test",

    async run(message, args, client) {
        if (message.author.bot) return;
        if (message.member.roles.cache.some(role => role.id === config.adminRoles)) {return message.reply("You have the admin role")} else {message.reply("No")}
    }
});

配置.json

{
"token": "token_go_here",
"prefix": "ab!",
"adminRoles": ["931469781234769940","931462231969910794"],
}

最佳答案

您可以使用集合文档中列出的roles.cache.some():https://discord.js.org/#/docs/collection/main/class/Collection

if (roles.cache.some(role => config.adminRoles.includes(role.id))) {
 // ...
}

关于discord.js - 检查用户是否在角色数组中具有特定角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71625004/

相关文章:

javascript - 当与 pm2 集群时,Discord 机器人会多次响应

javascript - 在 eval() 中使用 async() 函数 -discord.js

javascript - Discord.js : reaction. message.guild.members.find 不是函数

javascript - 如何使用来自另一个模块的类型作为 JSDoc 返回/参数类型

javascript - 从消息 react 中随机选择用户

javascript - 如何向具有特定 ID 的 channel 发布公告?

mysql - 无法连接到 mySQL 服务器、Windows 10/Node.js

node.js - Discordjs从serverID获取所有channelsID

canvas - 在树莓派上安装 Canvas

javascript - 根据使用的邀请码为新成员分配角色