javascript - 如何检查特定用户是否具有角色?不和谐的js

标签 javascript bots discord discord.js roles

我知道如何检查消息发送者是否有 Angular 色:

if(message.member.roles.has(role.id)) {
  console.log(`Yay, the author of the message has the role!`);
} else {
  console.log(`Nope, noppers, nadda.`);
}

但是,如何检查特定用户(使用用户 ID)是否具有特定 Angular 色?
    var authorID = "111111111111111111"

    //Find role
    var role = message.guild.roles.find(role => role.name === "Private Splash Ping");
    //Find member
    let member = message.guild.members.get(authorID);

    console.log(member.roles.has(role))
    if(member.roles.has(role)) {
        roleadded = "User already has Private spalsh role."
    } else {
        message.member.addRole(role);
        roleadded = "Added private splash role."
    }

member.roles.has(role) 总是返回 false 并且我已经通过断点确认成员和 Angular 色变量都是正确的。

我在这里缺少什么吗?

最佳答案

message.member.roles被视为 GuildMemberRoleManager (Documentation),要访问 Angular 色集合,您必须访问属性 .cache这是一个集合。然后这个集合有 .has(...)方法函数。 (Documentation)

因此,您希望访问 message.member.roles.cache.has(...)

关于javascript - 如何检查特定用户是否具有角色?不和谐的js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61088275/

相关文章:

javascript - 自定义 javascript 类和私有(private)变量作用域问题

google-analytics - Google Analytics 过滤器 'Ashburn' 在 View 中不起作用

android - Telegram 、通知声音

javascript - Facebook 信使机器人 : Understanding Syntax

javascript - 如何向指定 channel 发送消息?

JavaScript 全文搜索正则表达式

javascript - 根据项目索引附加序号后缀 ('-st' , '-nd' , '-rd' , '-th' )

discord - 如何将超链接嵌入到语音 channel ?

php - 如何保存ajax数据而不因点击后退按钮而丢失?

python - @client.event 到底是什么?不和谐.py