SetChatPermissions
SetChatPermissions — изменяет глобальные разрешения (права по умолчанию) для всех участников чата.
📝 Назначение
Используется для настройки того, какие действия разрешены обычным участникам чата (не администраторам). Позволяет ограничить отправку определённых типов сообщений, изменение информации о чате, приглашение участников и т.д.
Когда это нужно:
- Включить медленный режим (через
slow_mode_delay, отдельная настройка) - Запретить отправку стикеров или голосовых сообщений
- Ограничить возможность приглашать новых участников
- Запретить изменение информации о чате
💡 Совет: Установка разрешений влияет только на обычных участников. Администраторы всегда имеют полные права (если иное не настроено через
PromoteChatMember).
⚙️ Параметры
Все параметры имеют тип Boolean и являются опциональными. Если параметр не указан или указан как true — действие разрешено. Если указан как false — действие запрещено.
Отправка сообщений
| Параметр | Описание |
|---|---|
| can_send_messages | Разрешена отправка текста, контактов, мест, счетов |
| can_send_audios | Разрешена отправка аудиофайлов |
| can_send_documents | Разрешена отправка документов |
| can_send_photos | Разрешена отправка фотографий |
| can_send_videos | Разрешена отправка видео |
| can_send_video_notes | Разрешена отправка видеосообщений («кружков») |
| can_send_voice_notes | Разрешена отправка голосовых сообщений |
| can_send_polls | Разрешена отправка опросов и викторин |
| can_send_other_messages | Разрешена отправка анимаций (GIF), игр, стикеров, команд через встроенных ботов |
| can_add_web_page_previews | Разрешено автоматическое отображение превью ссылок |
Управление чатом
| Параметр | Описание |
|---|---|
| can_change_info | Разрешено изменение названия, фото и других настроек чата (не применяется в публичных супергруппах) |
| can_invite_users | Разрешено приглашение новых пользователей |
| can_pin_messages | Разрешено закрепление сообщений (не применяется в публичных супергруппах) |
| can_manage_topics | Разрешено создание тем форума (по умолчанию равно can_pin_messages) |
🔐 Требуемые права бота
| Право | Описание |
|---|---|
| Бот — администратор чата | Обязательное условие |
| can_restrict_members | Право ограничивать участников |
⚠️ Важно: Без права
can_restrict_membersреакция вызовет ошибку.
📊 Значения по умолчанию
Если не указаны явно, все права считаются разрешёнными (true). Исключение — can_manage_topics, который по умолчанию равен can_pin_messages.
# Все права разрешены (значения по умолчанию)
can_send_messages: true
can_send_audios: true
can_send_documents: true
can_send_photos: true
can_send_videos: true
can_send_video_notes: true
can_send_voice_notes: true
can_send_polls: true
can_send_other_messages: true
can_add_web_page_previews: true
can_change_info: true
can_invite_users: true
can_pin_messages: true
can_manage_topics: true # = can_pin_messages
🧪 Примеры использования
Пример 1: Запрет отправки медиафайлов
Задача: Разрешить только текстовые сообщения, запретить фото, видео, аудио и документы.
Параметры SetChatPermissions:
can_send_messages:truecan_send_photos:falsecan_send_videos:falsecan_send_audios:falsecan_send_documents:falsecan_send_other_messages:false
Пример 2: Только текстовые сообщения и ссылки
Задача: Разрешить текст и превью ссылок, но запретить всё остальное.
Параметры SetChatPermissions:
can_send_messages:truecan_add_web_page_previews:true- (остальные права —
false)
Пример 3: Запрет приглашения новых участников
Задача: Обычные участники не могут приглашать людей в группу.
Параметры SetChatPermissions:
can_invite_users:false
Пример 4: Полное ограничение (только чтение)
Задача: Превратить чат в режим «только для чтения» (никто не может писать).
Параметры SetChatPermissions:
can_send_messages:false
Пример 5: Восстановление всех прав
Задача: Сбросить все ограничения, разрешить всё.
Параметры SetChatPermissions: (все права не указаны или указаны как true)
🔄 Особенности поведения
| Ситуация | Поведение |
|---|---|
| Параметр не указан | Считается true (разрешено) |
| Бот не администратор | Реакция вызовет ошибку |
| У бота нет права can_restrict_members | Реакция вызовет ошибку |
| Публичная супергруппа | can_change_info и can_pin_messages не применяются |
| Изменение разрешений | Применяется мгновенно ко всем участникам (кроме администраторов) |
🔗 Связанные реакции
| Реакция | Назначение |
|---|---|
| RestrictChatMember | Ограничить конкретного участника |
| PromoteChatMember | Назначить администратора |
| GetChat | Получить текущие разрешения |
🔗 Связанные разделы
| Раздел | Описание |
|---|---|
| Обработчики системных сообщений | Отслеживание изменения разрешений |
| Чаты/Каналы в админке | Управление чатами через интерфейс |
🔗 Быстрая навигация
- Вверх
- Параметры
- Требуемые права
- Значения по умолчанию
- Примеры
- Особенности