Search code examples
javascriptdiscord.jsroles

Discord.js v12 - How to add a role?


if (message.content == '/lv') {
    message.member.roles.add('705757268448378971');
    message.react('✅') 
}
if (message.content == '/lv remove') {
    message.member.roles.remove('705757268448378971');
    message.react('✅')
}
//TypeError: Cannot read property 'add' of undefined

Code should add role to member after '/lv' command and remove the same role after '/lv remove'. Previously worked perfectly with addRole.


Solution

  • Try to store the role in a variable.

    let role = message.guild.roles.cache.get("705757268448378971");
    

    Then you can try to add the role to the member:

    if (message.content == '/lv') {
        message.member.roles.add(role);
        message.react('✅') 
    }
    if (message.content == '/lv remove') {
        message.member.roles.remove(role);
        message.react('✅')
    }
    

    If message.member.roles.add still doesn't work try:

    message.guild.member(message.member).roles.add(role);