创建角色时角色覆盖 discord.js

Posted

技术标签:

【中文标题】创建角色时角色覆盖 discord.js【英文标题】:role overwrites when creating a role discord.js 【发布时间】:2021-02-01 13:40:24 【问题描述】:

当我的机器人加入一个新公会时,它会创建一个角色并设置覆盖。

client.on("guildCreate", async guild => 
      guild.roles.create(
        data: 
            name: "Billy ????", //sets the role name
            color: "#e5f7b2", //sets the color of the role
            permissions: 8    //sets the roles permissions to administrator
        
      ).then(role => guild.member(client.user).roles.add(role)).catch(console.error);
  );

我有两个问题: 是否可以将此角色移至列表顶部或至少靠近某个位置? 我将如何继续与在线成员分开显示此角色?

【问题讨论】:

【参考方案1】:

要将角色与在线成员分开显示,您可以使用Role#setHoist 方法。

Role.setHoist(true);

您不能将角色移至角色层次结构中机器人的最高角色之上。

我建议你获得你的机器人的最高角色,获得它的位置,并相应地设置你的角色的位置。

const Role = Guild.roles.cache.get("1234567890123456"); // The role you want to update.

const HighestRole = Guild.me.roles.highest; // Your bot's highest role in the Guid.

Role.setPosition(HighestRole.position - 1); // Setting the role's position right before your HighestRole.

【讨论】:

以上是关于创建角色时角色覆盖 discord.js的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security 在运行时动态添加/删除 antMatchers 和角色

oracle 中 关于角色的问题

创建 EMR 集群时出错,EMR 服务角色无效

重命名 IAM 角色

以最低权限创建雪花角色

Discord JDA 无法创建角色