reopenforumtopic
reopenforumtopic — открывает закрытую тему в группе-форуме.
📝 Назначение
Используется для возобновления обсуждения в ранее закрытой теме. После открытия участники снова могут отправлять сообщения.
Когда это нужно:
- Возобновление обсуждения после временной блокировки
- Открытие темы, которая была закрыта по ошибке
- Продолжение дискуссии после паузы
💡 Совет: Открыть можно только тему, которая была закрыта через
closeforumtopic. На активные темы эта реакция не влияет.
⚙️ Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat_id | Integer/String | ✅ Да | ID группы-форума или @username |
| message_thread_id | Integer | ✅ Да | ID темы для открытия |
📍 Результат
После выполнения реакции результат доступен в переменной:
${response.result}
Тип значения: Boolean — true при успешном открытии темы.
🔐 Требуемые права бота
| Ситуация | Требуемые права |
|---|---|
| Бот — создатель темы | Права не требуются (может открывать свои темы) |
| Бот — администратор чата | Право can_manage_topics |
| Бот — не создатель и не администратор | Открытие невозможно |
💡 Совет: Если бот создал тему через
createforumtopic, он может открыть её без прав администратора.
🧪 Примеры использования
Пример 1: Открытие закрытой темы по ID
Задача: Открыть тему с ID 12345, которая была закрыта ранее.
Параметры reopenforumtopic:
chat_id:${chat.id}message_thread_id:12345
Пример 2: Открытие темы после снятия ограничений
Задача: После того как нарушители были наказаны, открыть временно закрытую тему.
Реакции:
- (Применение наказаний)
reopenforumtopic→chat_id:${chat.id},message_thread_id:${blocked_thread_id}SendMessage→ в тему:Тема разблокирована. Обсуждение возобновлено.
Пример 3: Открытие темы, созданной ботом
Задача: Бот создал тему, закрыл её после выполнения задачи, а теперь открывает для нового обсуждения.
Реакции:
createforumtopic→ создание темы, сохранениеmessage_thread_idcloseforumtopic→ закрытие темы- (Новое событие) →
reopenforumtopic→ открытие темы
Пример 4: Открытие темы по команде администратора
Задача: Администратор может открыть тему командой /opentopic <id>.
Обработчик: Регулярное выражение /opentopic (\d+)
Реакции:
reopenforumtopic→chat_id:${chat.id},message_thread_id:${update.match.1}SendMessage→ текст:Тема ${update.match.1} открыта.
🔄 Особенности поведения
| Ситуация | Поведение |
|---|---|
| Тема не существует | Telegram вернёт ошибку |
| Тема уже открыта | Повторное открытие не вызывает ошибку (ничего не меняется) |
| Бот не создатель и не администратор | Реакция вызовет ошибку |
| У бота нет права can_manage_topics (если не создатель) | Реакция вызовет ошибку |
| Чат не является форумом | Реакция вызовет ошибку |
🔗 Связанные реакции
| Реакция | Назначение |
|---|---|
| createforumtopic | Создать новую тему |
| closeforumtopic | Закрыть тему |
| editforumtopic | Изменить название или иконку темы |
| deleteforumtopic | Удалить тему |
🔗 Связанные разделы
| Раздел | Описание |
|---|---|
| Топики | Общая информация о темах форума |