【问题标题】:See permission value of a user in Discord.js在 Discord.js 中查看用户的权限值
【发布时间】:2020-06-12 08:04:55
【问题描述】:

我对 Discord.js 还很陌生,我想知道如何获取用户的值权限。我想这样做是因为我想确保低级别的人不会踢高级别的人。我试图在网上搜索它,但我链接到 this 帖子,这对我不起作用。

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    你可以通过<GuildMember>.permissions获得他们的权限。

    如果你想检查他们是否有特定的权限,你会这样做

    <GuildMember>.permissions.has(Permission_Resolvable)

    例子:

    const member = msg.mentions.members.first();
    const permissions = member.permissions;
    const isMod = permissions.has("KICK_MEMBERS");
    if(!isMod) return msg.channel.send("You are not a mod");
    

    Permission.has 在这里:

    https://discord.js.org/#/docs/main/stable/class/Permissions?scrollTo=has

    这里有完整的标志:

    https://discord.js.org/#/docs/main/stable/class/Permissions?scrollTo=s-FLAGS

    您链接的帖子在 v12 中已过时,但这是新代码:

    // I'll assume you already have the data for both members (memberA and memberB)
    const rankingA = memberA.roles.highest.position;
    const rankingB = memberB.roles.highest.position;
    
    if(rankingA > rankingB) {
    
    } else if (rankingA < rankingB) {
    
    } else {
    
    }
    

    或者

    // I'll assume you already have the data for both members (memberA and memberB)
    const highestA = memberA.roles.highest;
    const highestB = memberB.roles.highest;
    
    //check if memberA is higher
    const isHigher = highestA.comparePositionTo(highestB);
    
    if(isHigher > 0) {
      //memberA is higher
    } else if(isHigher < 0) {
      //memberB is higher
    } else {
      //same
    }
    

    【讨论】:

      猜你喜欢
      • 2021-07-30
      • 2011-02-20
      • 2014-09-28
      • 2020-06-08
      • 2021-01-11
      • 2011-02-11
      • 2022-01-22
      • 2022-11-29
      • 2019-04-01
      相关资源
      最近更新 更多