Discord.js-ReferenceError:成员未定义

时间:2020-05-31 21:17:21

标签: javascript node.js discord discord.js roles

我对此有疑问,我正在尝试添加一个名为Simon Says Player的角色,任何人都可以帮忙吗?

bot.on('message', message => {

    let args = message.content.substring(PREFIX.length).split(" ");

    switch (args[0]) {
        case 'join':

            let person = message.guild.member

            if (!person) {
                return message.reply('Couldn`t find the user!');
            }

            let mainRole = (role => role.name === "Simon Says Player");

            member.addRole(mainRole.id);

            message.channel.send('Successfully Entered The Game!!')

            break;
    }
})

2 个答案:

答案 0 :(得分:0)

尝试用message.member.addRole(mainRole.id)代替member.addRole(mainRole.id)

这应该在您的示例中有效:

    switch (args[0]) {
        case 'join':

                let person = message.member

                if (!person) {
                    return message.reply('Couldn`t find the user!');
                }

                let mainRole = message.guild.roles.cache.find(role => role.name === "Simon Says Player");
                message.member.roles.add(mainRole);


                message.channel.send('Successfully Entered The Game!!')

            break;
    }

答案 1 :(得分:0)

member实际上是undefined,您没有说明预期的功能,但是据我所知,您正在尝试给发送join命令的成员一个角色

bot.on('message', message => {

  let args = message.content.substring(PREFIX.length).split(" ");

  switch (args[0]) {
    case 'join':

      let person = message.guild.member

      if (!person) {
        return message.reply('Couldn`t find the user!');
      }

      let mainRole = message.guild.roles.cache.find(role => role.name === "Simon Says Player");

      message.member.roles.add(mainRole.id);

      message.channel.send('Successfully Entered The Game!!')

      break;
  }
})