EnotPRO Logo EnotPRO

reopenforumtopic

reopenforumtopic — открывает закрытую тему в группе-форуме.

📝 Назначение

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

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

  • Возобновление обсуждения после временной блокировки
  • Открытие темы, которая была закрыта по ошибке
  • Продолжение дискуссии после паузы

💡 Совет: Открыть можно только тему, которая была закрыта через closeforumtopic. На активные темы эта реакция не влияет.

⚙️ Параметры

Параметр Тип Обязательный Описание
chat_id Integer/String ✅ Да ID группы-форума или @username
message_thread_id Integer ✅ Да ID темы для открытия

📍 Результат

После выполнения реакции результат доступен в переменной:

${response.result}

Тип значения: Booleantrue при успешном открытии темы.

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

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

💡 Совет: Если бот создал тему через createforumtopic, он может открыть её без прав администратора.

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

Пример 1: Открытие закрытой темы по ID

Задача: Открыть тему с ID 12345, которая была закрыта ранее.

Параметры reopenforumtopic:

  • chat_id: ${chat.id}
  • message_thread_id: 12345

Пример 2: Открытие темы после снятия ограничений

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

Реакции:

  1. (Применение наказаний)
  2. reopenforumtopicchat_id: ${chat.id}, message_thread_id: ${blocked_thread_id}
  3. SendMessage → в тему: Тема разблокирована. Обсуждение возобновлено.

Пример 3: Открытие темы, созданной ботом

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

Реакции:

  1. createforumtopic → создание темы, сохранение message_thread_id
  2. closeforumtopic → закрытие темы
  3. (Новое событие) → reopenforumtopic → открытие темы

Пример 4: Открытие темы по команде администратора

Задача: Администратор может открыть тему командой /opentopic <id>.

Обработчик: Регулярное выражение /opentopic (\d+)

Реакции:

  1. reopenforumtopicchat_id: ${chat.id}, message_thread_id: ${update.match.1}
  2. SendMessage → текст: Тема ${update.match.1} открыта.

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

Ситуация Поведение
Тема не существует Telegram вернёт ошибку
Тема уже открыта Повторное открытие не вызывает ошибку (ничего не меняется)
Бот не создатель и не администратор Реакция вызовет ошибку
У бота нет права can_manage_topics (если не создатель) Реакция вызовет ошибку
Чат не является форумом Реакция вызовет ошибку

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

Реакция Назначение
createforumtopic Создать новую тему
closeforumtopic Закрыть тему
editforumtopic Изменить название или иконку темы
deleteforumtopic Удалить тему

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

Раздел Описание
Топики Общая информация о темах форума

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

reopenForumTopic — Telegram Bot API

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