EnotPRO Logo EnotPRO

UnBanSenderChat

UnBanSenderChat — разблокирует канал, ранее заблокированный в чате.

📝 Назначение

Используется для снятия блокировки с канала, который был забанен через BanChatSenderChat. После разблокировки канал снова может отправлять сообщения в группу от своего имени.

Когда это нужно:

  • Истекло время временной блокировки канала
  • Администратор решил разблокировать канал
  • Ошибочная блокировка — отменить её

💡 Совет: Эта реакция работает только для каналов-отправителей, которые были заблокированы через BanChatSenderChat. Для разблокировки обычных пользователей используйте UnBanChatMember.

⚙️ Параметры

Параметр Тип Обязательный Описание
chat.id Integer/String ✅ Да ID чата (группы/супергруппы), в котором разблокируется канал
sender.chat.id Integer ✅ Да ID канала, который нужно разблокировать

📥 Получение ID канала-отправителя

Когда канал отправляет сообщение в группу, в update появляется поле sender_chat. ID канала доступен по пути:

${update.message.sender_chat.id}

Для разблокировки по команде администратора может потребоваться предварительное получение ID канала.

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

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

💡 Совет: Без права can_restrict_members реакция вызовет ошибку.

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

Пример 1: Разблокировка канала, который был забанен

Задача: Разблокировать канал, ранее заблокированный в группе.

Параметры UnBanSenderChat:

  • chat.id: ${chat.id}
  • sender.chat.id: -100987654321 (ID канала)

Пример 2: Разблокировка канала, только что отправившего сообщение

Задача: Если канал был забанен ошибочно — разблокировать его при следующем сообщении.

Обработчик: Тип «Сообщение» (любое)

Условие: Has${update.message.sender_chat.id}

Реакции:

  1. UnBanSenderChat
  • chat.id: ${chat.id}
  • sender.chat.id: ${update.message.sender_chat.id}
  1. SendMessage → текст: Канал ${update.message.sender_chat.title} разблокирован.

Пример 3: Разблокировка по команде администратора

Задача: Администратор может разблокировать канал командой /unban_channel @channel_username.

Обработчик: Команда /unban_channel @channel_username

Реакции:

  1. TakeUser → получение ID канала по username
  2. UnBanSenderChat
  • chat.id: ${chat.id}
  • sender.chat.id: ${target.chat.id}
  1. SendMessage → текст: Канал разблокирован.

Пример 4: Разблокировка временно заблокированного канала

Задача: Автоматически разблокировать канал после истечения срока временной блокировки.

Обработчик: Расписание или отложенное действие

Реакции:

  1. UnBanSenderChat
  • chat.id: ${chat.id}
  • sender.chat.id: ${channel_id}

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

Ситуация Поведение
Канал не был заблокирован Реакция не вызывает ошибку, просто не имеет эффекта
Канал уже разблокирован Реакция не имеет эффекта
Бот не администратор Реакция вызовет ошибку
У бота нет права can_restrict_members Реакция вызовет ошибку
Разблокировка обычного пользователя Не работает — используйте UnBanChatMember

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

Реакция Назначение
BanChatSenderChat Заблокировать канал в чате
UnBanChatMember Разблокировать пользователя
GetChatMember Проверить статус

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

Раздел Описание
Чаты/Каналы в админке Управление чатами через интерфейс

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

unbanChatSenderChat — Telegram Bot API

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