discordjs v12无法读取未定义的属性角色

时间:2020-05-02 07:10:14

标签: javascript discord discord.js

我正在创建具有最新版本v12的Discord机器人,在添加时我遇到了问题 成员的角色。

我知道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 :(得分:0)

如果消息中没有提及,则需要添加检查。


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');
    }
}