Discord.js 无法读取未定义的属性“角色”

时间:2021-03-24 04:43:00

标签: discord discord.js

let StaffPerms = false;
        let server = client.guilds.cache.get('737183847816364042')
        let member = server.members.cache.get(message.author.id)
        if(member.roles.cache.has('823136963246424064') == true){
            console.log("PERFECT")
        }

这一直在发生,我不知道为什么。通过这部分代码的每条消息都在 DM 中。

1 个答案:

答案 0 :(得分:0)

message.author 返回一个 User 对象。您正在尝试使用 GuildMember id 而不是 User id 来获取 GuildMember,因此它返回 undefined。您可以使用 Guild#member 来获取 GuildMember 对象,但它只有在成员被缓存时才有效。更好的解决方案是使用 GuildMemberManager#fetch

const guild = client.guilds.cache.get('737183847816364042')
const member = await guild.members.fetch(message.author)
if (member.roles.cache.has('823136963246424064')) {
  // do something
}
相关问题