机器人命令的角色权限

时间:2020-04-25 20:27:54

标签: javascript permissions bots discord.js roles

我必须定义其他内容吗?我在网上某处看到该角色的权限。

message.member.roles.some is not a function

execute(message, args) {
        if(message.member.roles.some(role => role.name === 'Community Manager')) {
            if (!args.length) return message.channel.send(You didn't pass any command to reload, ${message.author}!);
            const commandName = args[0].toLowerCase();
            const command = message.client.commands.get(commandName)
                || message.client.commands.find(cmd => cmd.aliases && cmd.aliases.includes(commandName));

            if (!command) return message.channel.send(There is no command with that name or alias `${commandName}`, ${message.author}!);    

            delete require.cache[require.resolve(./${command.name}.js)];

            try {
                const newCommand = require(./${command.name}.js);
                message.client.commands.set(newCommand.name, newCommand);
                message.channel.send(Command `${command.name}` was reloaded!);
            } catch (error) {
                console.log(error);
                message.channel.send(There was an error while reloading a command `${command.name}`:\n`${error.message}`);
            }
        }else{
            message.channel.send(You don't have the permission to execute that command.);
          }
    }

1 个答案:

答案 0 :(得分:1)

他们将其更改为message.member.roles.cache,您也可以使用find代替(可能会获得更好的性能,如果不相等,那么它仍然具有更好的可读性), / p>

messsage.member.roles.cache.find(r => r.name === "Community Manager");