Как работает доступ
Роли, уровни и права бота - кто что может делать в чате и как это менять.
Доступ к командам бота не связан с админкой телеграма. Можно быть администратором группы и не иметь ни одной команды бота, и наоборот: обычный участник получает права, которые ему выдали.
Работает это на двух вещах. Роль - это набор прав и уровень в иерархии. Право - одна конкретная возможность, например «мут пользователей». Роли выдаются участникам, права выдаются ролям, а поверх можно добавить личное право одному человеку.
Роли и уровни
| Роль | Код | Уровень |
|---|---|---|
| 👑 Владелец | owner | выше всех |
| 🔥 Старший администратор | senior_admin | 80 |
| 🛡️ Администратор | admin | 60 |
| ⚡ Старший модератор | senior_moderator | 40 |
| 🎯 Модератор | moderator | 20 |
| 👤 Участник | member | 0 |
Уровень решает, кто над кем начальник. Чем больше число, тем выше роль. Кроме этих шести можно создать свои роли с любым названием и уровнем: например «Куратор» на 30 или «Випка» на 5.
Владельцем считается создатель группы, а также тот, кому выдали роль owner.
У владельца всегда есть все права, их нельзя изменить или отобрать, и назначить
кого-то владельцем может только создатель чата.
Роль Участник бот выдаёт сам, когда человек впервые попадает в чат. Вручную её не выдать и не снять: это базовая роль, к которой привязаны обычные команды вроде профиля и уровня.
Откуда берётся доступ
Бот проверяет три вещи по очереди: владелец ли вы, есть ли у вас личное право на эту команду, есть ли такое право у одной из ваших ролей. Хватает любого совпадения.
Личные права только добавляют возможности. Отобрать правом то, что уже даёт роль, нельзя: для этого нужно либо снять роль, либо убрать право у самой роли.
Роли и права действуют в том чате, где их выдали. В другом чате того же бота у человека будет свой набор.
Правила иерархии
Они одинаковы для ролей, прав и наказаний:
- к себе команды управления доступом не применяются;
- нельзя менять роли и права тому, у кого уровень равен вашему или выше;
- нельзя выдать роль своего уровня или выше, только ниже;
- нельзя выдать право, которого нет у вас самих;
- роли уровня 80 и выше бот выдаёт только после подтверждения кнопкой;
- владельца нельзя понизить, разжаловать или изменить ему права.
Управлять ролями и правами по умолчанию может только Старший администратор. Это два отдельных права, так что можно доверить кому-то выдачу ролей, но не настройку прав.
Если команда не сработала
Когда прав не хватает, бот отвечает, что доступа к команде нет. Это уведомление можно выключить в настройках чата, тогда бот будет просто молчать в ответ на чужие команды.
Посмотреть, что есть у конкретного участника, можно через -права и -роль, а полный перечень возможностей собран в справочнике прав. Что стоит выдавать осторожно и почему бот иногда отказывает, описано в памятке по безопасности.