createforumtopic
createforumtopic — создаёт новую тему (топик) в группе-форуме или в личном чате с пользователем.
📝 Назначение
Используется для программного создания тем в супергруппах, где включён режим форума. Каждая тема функционирует как отдельный чат со своими настройками уведомлений и возможностью закреплять сообщения.
Когда это нужно:
- Автоматическое создание темы под каждый заказ или тикет
- Организация обсуждений по категориям
- Создание временных тем для мероприятий
💡 Совет: После создания темы её идентификатор (
message_thread_id) используется в других реакциях для отправки сообщений именно в эту тему.
⚙️ Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat_id | Integer/String | ✅ Да | ID группы-форума или @username |
| name | String | ✅ Да | Название темы (1–128 символов) |
| icon_color | Integer | ❌ Нет | Цвет иконки темы (см. допустимые значения ниже) |
| icon_custom_emoji_id | String | ❌ Нет | ID пользовательского эмодзи для иконки темы |
🎨 Допустимые значения icon_color
| Цвет | RGB | Десятичное значение | HEX |
|---|---|---|---|
| Голубой | (111, 185, 240) | 7322096 |
0x6FB9F0 |
| Жёлтый | (255, 214, 126) | 16766590 |
0xFFD67E |
| Фиолетовый | (203, 134, 219) | 13338331 |
0xCB86DB |
| Зелёный | (142, 238, 152) | 9367192 |
0x8EEE98 |
| Розовый | (255, 147, 178) | 16749490 |
0xFF93B2 |
| Оранжевый | (251, 111, 95) | 16478047 |
0xFB6F5F |
💡 Совет: Для получения ID пользовательских эмодзи используйте реакцию GetForumTopicIconStickers.
📍 Результат
После выполнения реакции результат доступен в переменной:
${response.result}
Структура результата — объект ForumTopic:
| Поле | Тип | Описание |
|---|---|---|
message_thread_id |
Integer | ID созданной темы (используется в параметре message_thread_id) |
name |
String | Название темы |
icon_color |
Integer | Цвет иконки |
icon_custom_emoji_id |
String | ID пользовательского эмодзи (если установлен) |
🔐 Требуемые права бота
| Право | Описание |
|---|---|
| Бот — администратор чата | Обязательное условие |
| can_manage_topics | Право управлять темами форума |
⚠️ Важно: Для создания темы в группе-форуме бот должен быть администратором с правом
can_manage_topics.
🧪 Примеры использования
Пример 1: Создание простой темы
Задача: Создать тему «Общие вопросы» с цветом по умолчанию.
Параметры createforumtopic:
chat_id:${chat.id}name:Общие вопросы
Пример 2: Создание темы с указанным цветом
Задача: Создать тему с зелёной иконкой.
Параметры createforumtopic:
chat_id:${chat.id}name:Важные объявленияicon_color:9367192
Пример 3: Создание темы с пользовательским эмодзи
Задача: Создать тему с эмодзи 📰 в качестве иконки.
Параметры createforumtopic:
chat_id:${chat.id}name:Новостиicon_custom_emoji_id:5434144690511290129
Пример 4: Использование ID созданной темы
Задача: Создать тему и отправить в неё приветственное сообщение.
Реакции:
createforumtopic→chat_id:${chat.id},name:ПоддержкаSendMessage→
chat_id:${chat.id}topic_id:${response.result.message_thread_id}- Текст:
Добро пожаловать в тему поддержки!
Пример 5: Создание темы по команде
Задача: Администратор может создать тему командой /newtopic Название темы.
Обработчик: Регулярное выражение /newtopic (.+)
Реакции:
createforumtopic→chat_id:${chat.id},name:${update.match.1}SendMessage→ текст:Тема "${update.match.1}" создана!
🔄 Особенности поведения
| Ситуация | Поведение |
|---|---|
| Чат не является форумом | Реакция вызовет ошибку |
| Название длиннее 128 символов | Telegram вернёт ошибку |
| Название короче 1 символа | Telegram вернёт ошибку |
| Бот не администратор | Реакция вызовет ошибку |
| У бота нет права can_manage_topics | Реакция вызовет ошибку |
🔗 Связанные реакции
| Реакция | Назначение |
|---|---|
| editforumtopic | Изменить название или иконку темы |
| closeforumtopic | Закрыть тему |
| deleteforumtopic | Удалить тему |
| GetForumTopicIconStickers | Получить ID эмодзи для иконки |
🔗 Связанные разделы
| Раздел | Описание |
|---|---|
| Топики | Общая информация о темах форума |
| SendMessage | Отправка сообщений в тему ( |