EnotPRO Logo EnotPRO

RestrictChatMember

RestrictChatMember — метод используется для ограничения доступа пользователя в супергруппе.

Назначение

Позволяет временно или постоянно ограничить возможности участника: запретить отправку определённых типов сообщений, приглашение новых участников, изменение информации о чате и т.д.

Параметры

Параметр Тип Обязательный Описание
chat_id Integer/String ✅ Да ID чата или @username группы
user_id Integer ✅ Да ID пользователя для ограничения
until_date Integer ❌ Нет Unix-время снятия ограничений. По умолчанию — 0 (бессрочно)

Права (разрешения)

Все параметры прав имеют тип Boolean и являются опциональными.

Отправка сообщений

Параметр Описание Значение по умолчанию
can_send_messages Разрешена отправка текста, контактов, розыгрышей, списков победителей, счетов, мест и объектов false
can_send_audios Разрешена отправка аудио false
can_send_documents Разрешена отправка документов false
can_send_photos Разрешена отправка фото false
can_send_videos Разрешена отправка видео false
can_send_video_notes Разрешена отправка видеосообщений («кружков») false
can_send_voice_notes Разрешена отправка голосовых сообщений false
can_send_polls Разрешена отправка опросов и чек-листов false
can_send_other_messages Разрешена отправка анимаций, игр, стикеров и использование встроенных ботов false
can_add_web_page_previews Разрешено добавление превью веб-страниц к сообщениям false

Управление чатом

Параметр Описание Значение по умолчанию
can_change_info Разрешено изменение названия, фото и других настроек чата. Не применяется в публичных супергруппах false
can_invite_users Разрешено приглашение новых пользователей false
can_pin_messages Разрешено закрепление сообщений. Не применяется в публичных супергруппах false
can_manage_topics Разрешено создание тем форума. По умолчанию равно значению can_pin_messages false

⚠️ Важно: Если параметр не указан, он считается запрещённым (false). Чтобы разрешить действие, установите параметр в true.

Параметр use_independent_chat_permissions

Передайте значение true, если разрешения чата установлены независимо. В противном случае разрешения can_send_other_messages и can_add_web_page_previews будут подразумевать разрешения:

  • 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_messages.

📅 Формат until_date

Параметр until_date принимает Unix timestamp (количество секунд с 1 января 1970 года).

Как получить значение:

Способ Пример Результат
Макрос !{time} `!{time value:now; plus:1d; output_format:unix}`
Макрос !{time} `!{time value:now; plus:2h; output_format:unix}`
Макрос !{time} `!{time value:now; plus:30m; output_format:unix}`
Вручную 1748880000 Конкретная дата

💡 Совет: Если until_date меньше текущего времени или равен 0, ограничение считается бессрочным.

🔐 Требуемые права бота

Право Описание
Администратор чата Бот должен быть администратором чата
can_restrict_members Право ограничивать участников (обязательно)

⚠️ Важно: Без права can_restrict_members реакция вызовет ошибку.

🧪 Примеры использования

Пример 1: Бессрочное ограничение (только текст)

Задача: Разрешить пользователю отправлять только текстовые сообщения, запретить всё остальное.

Параметры RestrictChatMember:

  • chat_id: ${chat.id}
  • user_id: ${user.id}
  • can_send_messages: true
  • (остальные права не указаны — false по умолчанию)

Пример 2: Временное ограничение на 1 час

Задача: Запретить пользователю отправлять медиа на 1 час.

Параметры RestrictChatMember:

  • chat_id: ${chat.id}
  • user_id: ${user.id}
  • until_date: !{time|value:now; plus:1h; output_format:unix}
  • can_send_photos: false
  • can_send_videos: false
  • can_send_audios: false
  • can_send_documents: false
  • can_send_voice_notes: false
  • can_send_video_notes: false

Пример 3: Полная блокировка отправки сообщений (только чтение)

Задача: Запретить пользователю отправлять любые сообщения на 7 дней.

Параметры RestrictChatMember:

  • chat_id: ${chat.id}
  • user_id: ${user.id}
  • until_date: !{time|value:now; plus:7d; output_format:unix}
  • can_send_messages: false
  • can_send_other_messages: false

Пример 4: Разрешить только текстовые сообщения и ссылки

Задача: Пользователь может писать текст и вставлять ссылки, но не может отправлять медиа.

Параметры RestrictChatMember:

  • chat_id: ${chat.id}
  • user_id: ${user.id}
  • can_send_messages: true
  • can_add_web_page_previews: true
  • can_send_photos: false
  • can_send_videos: false
  • can_send_audios: false
  • can_send_documents: false
  • can_send_voice_notes: false
  • can_send_video_notes: false

🔄 Особенности поведения

Ситуация Поведение
Параметр не указан Считается false (запрещено)
Бот не администратор Реакция вызовет ошибку
У бота нет права can_restrict_members Реакция вызовет ошибку
Публичная супергруппа can_change_info и can_pin_messages не применяются
until_date в прошлом Ограничение снимается немедленно
Попытка ограничить владельца чата Невозможно (Telegram запрещает)

⚠️ Частые ошибки и их решение

Ошибка 1: Ограничение не применяется

Причина: Бот не является администратором чата или у него нет права can_restrict_members.

Решение: Добавьте бота в администраторы чата и убедитесь, что у него есть право ограничивать участников.

Ошибка 2: Неверный формат until_date

Причина: Вместо Unix timestamp передана строка или дата в другом формате.

Решение: Используйте макрос !{time} с output_format: unix для получения правильного формата.

Ошибка 3: Ограничения снимаются слишком рано

Причина: until_date был установлен в прошлом или указано неверное значение.

Решение: Проверьте, что until_date больше текущего времени. Используйте макрос !{time} для вычисления.

🔗 Связанные реакции

Реакция Назначение
BanChatMember Полная блокировка пользователя
UnBanChatMember Снятие блокировки
GetChatMember Проверка статуса пользователя
SetChatPermissions Глобальные разрешения для всех участников

🔗 Связанные разделы

Раздел Описание
Чаты/Каналы в админке Управление чатами через интерфейс
Макрос time Генерация until_date
Обработчики «Вход/выход» Отслеживание изменений статуса

🔗 Ссылка на официальную документацию

restrictChatMember — Telegram Bot API

© 2025 EnotPRO. Все права защищены.