Разрешение на роль для команды бота - PullRequest
0 голосов
/ 25 апреля 2020

Должен ли я определить что-то или что-то еще? Я видел эту вещь с разрешением на роль где-то в сети.

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 Ответ

1 голос
/ 26 апреля 2020

они изменили его на message.member.roles.cache, также вы можете использовать вместо него поиск (возможно, с лучшей производительностью, и если нет, то он будет равным, и в этом случае он все еще имеет преимущество лучшей читаемости),

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

...