Задать вопрос
@ka4ergaa

Как проверить превосходство роли бота над ролью участника?

Как проверить превосходство роли бота над ролью участника? Чтобы бот мог сразу понять, сможет ли он забанить пользователя. Если сможет - продолжать, если нет - выдавать ошибку.
  • Вопрос задан
  • 180 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
Alexandre888
@Alexandre888 Куратор тега discord.js
Javascript-разработчик
если вы именно хотите проверить, сможет ли бот забанить определенного пользователя, вы можете использовать свойство .bannable:
member.bannable // false в случае, если бот не может забанить юзера; true в случае, если бот может забанить юзера (зависит от позиции самой высокой роли у бота и у юзера)

но, если вы просто хотите сравнить две роли, вы можете использовать метод .comparePositions(), чтобы узнать разницу в позициях обоих ролей (в примере ниже сравнивается наивысшая роль у юзера и наивысшая роль у бота):
guild.roles.comparePositions(member.roles.highest, guild.me.roles.highest)
*   метод вернёт отрицательное число, если позиция первой роли < позиции второй роли;
    метод вернёт положительное число, если позиция первой роли > позиции второй роли;
    метод вернёт 0, если позиция первой роли = позиции второй роли.

для примера:

 -3 | вторая роль > первой на 3 позиции
  5 | первая роль > второй на 5 позиций
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
MrShandy
@MrShandy
Python
Смотрите по высоте высшей роли участника и по высшей роли бота
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы