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