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