discord js v12 не может прочитать роли свойств неопределенных - PullRequest
0 голосов
/ 02 мая 2020

Я создаю несогласованного бота с новейшей версией v12, и сталкиваюсь с проблемой, когда речь идет о добавлении роли к члену.

Я знаю, что объект User не имеет никаких ролей, но член должен иметь, как сказано в документации. Вот как я получаю своего пользователя:

let member = msg.mentions.members.first();

Вот как я добавляю свою роль:

member.roles.add(role);

Хотя я сталкиваюсь эта ошибка:

TypeError: Cannot read property 'roles' of undefined

контекст:

if(args[0] == 'blacklist'){
                if(args[1] != null){
                    if(args[2] != null){
                    let member = msg.mentions.members.first();
                    let role = (msg.member.guild.roles.cache.find(role => role.name === 'muted'));
                    member.roles.add(role);


                    } else {
                        msg.channel.send('> Error: missing reason');
                    }
                } else {
                    msg.channel.send('> Error: missing userID');
                }
            }`


1 Ответ

0 голосов
/ 03 мая 2020

Вам нужно добавить проверку, если в сообщении нет упоминаний.


if(args[0] == 'blacklist'){
    if(args[1] != null){
        if(args[2] != null){
            let member = msg.mentions.members.first();
            if (!member) return msg.reply('Pls mention a member')
            let role = (msg.member.guild.roles.cache.find(role => role.name === 'muted'));
            member.roles.add(role);

        } else {
            msg.channel.send('> Error: missing reason');
        }
    } else {
        msg.channel.send('> Error: missing userID');
    }
}
...