【问题标题】:discord.js ReferenceError: member is not defineddiscord.js ReferenceError:未定义成员
【发布时间】:2020-09-08 15:49:04
【问题描述】:

谁能告诉我为什么这不起作用,它在另一个代码中工作,但不是这个......

代码:

channel.send(`@everyone ${member}`, BoosterEmbed)

错误:

channel.send(`${member}`, BoosterEmbed)
                ^
ReferenceError: member is not defined

【问题讨论】:

  • 提供更多上下文。显示您定义member 的位置。
  • 哦,我忘了,哈哈
  • 你能说明你定义的成员是什么吗?
  • 是的,现在放置了整个代码

标签: node.js discord.js


【解决方案1】:
bot.on('guildMemberUpdate', async (oldMember, newMember) => {
      const hadRole = oldMember.roles.cache.find(role => role.name === '<ROLE NAME>');
      const hasRole = newMember.roles.cache.find(role => role.name === '<ROLE NAME>');
    
      if (!hadRole && hasRole) {
           let level = newMember.guild.premiumTier === 0 ? "No Level" : `${newMember.guild.premiumTier}`;
     
        let boost = newMember.guild.premiumSubscriptionCount;
        
        
        
        let embed = new Discord.MessageEmbed()
        .setThumbnail(newMember.user.displayAvatarURL({ dynamic: true }))
        .setTitle(`${newMember.user.username} just boosted the server!`)
    
    .setDescription(`Thank you **<@${newMember.user.id}>** for boosting the server.
    Because of you, we are now have **${boost}** boost in total.`)
    
     .setColor("#8f1b85")
    .setFooter(`${newMember.guild.name} Level : ${level}`)
       
          
        newMember.guild.channels.cache.get("<ChannelID>").send(embed);
      
      
      
      
      }
    
    
    
    
    
    }
    )

【讨论】:

    【解决方案2】:

    请注意,根据 guildMemberUpdate 的文档,仅包含两个参数:

    /**
    * Emitted whenever a guild member changes - i.e. new role, removed role, nickname.
    * Also emitted when the user's details (e.g. username) change.
    * @event Client#guildMemberUpdate
    * @param {GuildMember} oldMember The member before the update
    * @param {GuildMember} newMember The member after the update
    */
    

    您可以在这里找到:https://github.com/discordjs/discord.js/blob/stable/src/client/actions/GuildMemberUpdate.js#L23

    请在您的代码中使用newMember 代替member。这应该可以解决您面临的问题。

    【讨论】:

      猜你喜欢
      • 2020-09-19
      • 2020-09-18
      • 2021-03-04
      • 2020-12-21
      • 2021-05-06
      • 1970-01-01
      • 2021-11-26
      • 2021-06-03
      • 2020-11-15
      相关资源
      最近更新 更多