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 中。
答案 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
}