role overwrites when creating a role discord.js

Tags: ,



When my bot joins a new guild it creates a role & sets overwrites.

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);
  });

I have 2 questions:
Is it possible to move this role to the top of the list or at least somewhere close?
How would I go on displaying this role separately from online members?

Answer

To display a role separately from online members, you can use the Role#setHoist method.

Role.setHoist(true);

You cannot move a role above your bot’s highest role in the roles hierarchy.

I recommend you to get your bot’s highest role, get its position, and set your role’s position accordingly.

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.


Source: stackoverflow