роль перезаписывается при создании роли discord.js

#javascript #discord.js

#javascript #discord.js

Вопрос:

Когда мой бот присоединяется к новой гильдии, он создает роль и устанавливает перезаписи.

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

У меня есть 2 вопроса:
Возможно ли переместить эту роль в начало списка или хотя бы где-то рядом?
Как бы я продолжал отображать эту роль отдельно от онлайн-участников?

Ответ №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.