首页 > 解决方案 > discord.js 如何赋予可调整的级别角色-错误无法读取未定义的属性“添加”

问题描述

我正在使用 discord.js 和 quick.db 开发系统级别。我的级别系统已经准备就绪,但我想根据他们的级别将用户添加到角色中,但出现以下错误:

TypeError: Cannot read property 'add' of undefined

这是分配角色的一部分

const db = require("quick.db")
const discord = require("discord.js")
const client = new discord.Client({
  partials: ['MESSAGE', 'REACTION']
});
(...)
    if(newlvl > oldlvl) 
    message.channel.send(`${message.author}, Parabéns, agora você está no Level ${newlvl}`)
    db.add(`xp_${message.author.id}_${message.guild.id}`, toadd);
    const member = message.member.guild.id;
    switch(newlvl){
      case 2: 
        member.roles.add('804505281052016681').catch(console.error);
        member.roles.remove('803707738005045269').catch(console.error);
        break;
      case 3:
        member.roles.add('804504954785628192').catch(console.error);
        member.roles.add('804505281052016681').catch(console.error);
        break; 
      (...)
        break;
      }
    ```

标签: javascriptnode.jsdiscord.js

解决方案


您应该替换const member = message.member.guild.id;const member = message.member;以获取成员对象。


推荐阅读