PromoteChatMember
PromoteChatMember — назначает пользователя администратором чата или изменяет его права.
📝 Назначение
Используется для управления администраторами групп и супергрупп. Позволяет:
- Назначить нового администратора
- Изменить права существующего администратора
- Лишить прав администратора (сняв все права)
💡 Совет: Чтобы лишить пользователя прав администратора, вызовите реакцию со всеми правами, установленными в
false(или просто не передавайте их).
⚙️ Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat_id | Integer/String | ✅ Да | ID чата или @username группы |
| user_id | Integer | ✅ Да | ID пользователя |
| is_anonymous | Boolean | ❌ Нет | Скрывать присутствие администратора (анонимный режим) |
Основные права
| Параметр | Тип | Описание |
|---|---|---|
| can_manage_chat | Boolean | Полный доступ к управлению чатом |
| can_delete_messages | Boolean | Удалять чужие сообщения |
| can_restrict_members | Boolean | Блокировать/ограничивать участников |
| can_promote_members | Boolean | Назначать других администраторов |
Права на информацию и приглашения
| Параметр | Тип | Описание |
|---|---|---|
| can_change_info | Boolean | Изменять название и фото чата |
| can_invite_users | Boolean | Приглашать новых участников |
Права на сообщения (только для каналов)
| Параметр | Тип | Описание |
|---|---|---|
| can_post_messages | Boolean | Публиковать сообщения |
| can_edit_messages | Boolean | Редактировать чужие сообщения |
Права на управление контентом
| Параметр | Тип | Описание |
|---|---|---|
| can_pin_messages | Boolean | Закреплять сообщения (для супергрупп) |
| can_manage_topics | Boolean | Управлять темами форума |
| can_manage_video_chats | Boolean | Управлять видеозвонками |
🔐 Права бота
| Право | Описание |
|---|---|
| Бот — администратор чата | Обязательное условие |
| can_promote_members | Право назначать других администраторов |
⚠️ Важно: Бот не может назначить администратора с правами, которых нет у самого бота. Например, если бот не может банить пользователей (
can_restrict_members = false), он не сможет выдать это право другому администратору.
🧪 Примеры использования
Пример 1: Назначение нового администратора
Задача: Назначить пользователя администратором с базовыми правами.
Параметры PromoteChatMember:
chat_id:${chat.id}user_id:${user.id}can_delete_messages:truecan_restrict_members:truecan_change_info:truecan_invite_users:true
Пример 2: Назначение с полными правами (кроме назначения других)
Задача: Назначить администратора со всеми правами, кроме возможности назначать других.
Параметры PromoteChatMember:
chat_id:${chat.id}user_id:${user.id}can_manage_chat:truecan_delete_messages:truecan_restrict_members:truecan_change_info:truecan_invite_users:truecan_pin_messages:truecan_promote_members:false
Пример 3: Лишение прав администратора
Задача: Снять с пользователя все права администратора (он становится обычным участником).
Параметры PromoteChatMember:
chat_id:${chat.id}user_id:${user.id}- (все права не указаны или указаны как
false)
💡 Совет: Для снятия прав достаточно вызвать реакцию без указания каких-либо прав. Пользователь останется в чате, но потеряет администраторские привилегии.
Пример 4: Анонимный администратор
Задача: Назначить администратора, который будет скрыт от участников (его действия будут видны как «анонимный администратор»).
Параметры PromoteChatMember:
chat_id:${chat.id}user_id:${user.id}is_anonymous:truecan_delete_messages:truecan_restrict_members:true
Пример 5: Назначение с правом назначать других
Задача: Назначить главного администратора, который может назначать других администраторов.
Параметры PromoteChatMember:
chat_id:${chat.id}user_id:${user.id}can_promote_members:true- (остальные права по необходимости)
⚠️ Важно: Бот должен сам иметь право
can_promote_members, чтобы назначать администратора с этим правом.
📊 Иерархия прав
Некоторые права требуют наличия других прав:
| Если включено... | ...то требуется также |
|---|---|
can_promote_members |
can_restrict_members (обычно) |
can_manage_topics |
can_pin_messages (по умолчанию равно ему) |
💡 Совет: Для упрощения можно использовать
can_manage_chat = true, что даёт большинство базовых прав.
🔄 Особенности поведения
| Ситуация | Поведение |
|---|---|
| Назначение уже существующего администратора | Права будут обновлены |
| Вызов без указания прав | Пользователь лишается всех прав администратора |
| Попытка назначить владельца чата | Игнорируется (владелец и так имеет все права) |
| Попытка выдать права, которых нет у бота | Telegram вернёт ошибку |
🔗 Связанные реакции
| Реакция | Назначение |
|---|---|
| GetChatMember | Получить информацию об участнике |
| GetChatAdministrators | Получить список администраторов |
| RestrictChatMember | Ограничить участника (не администратора) |
| SetChatAdminTitle | Установить титул администратора |
🔗 Связанные разделы
| Раздел | Описание |
|---|---|
| Обработчики «Вход/выход» | Отслеживание назначения администраторов |
🔗 Быстрая навигация
- Вверх
- Параметры
- Права бота
- Примеры
- Иерархия прав
- Особенности