Тикеты
Поддержка в боте работает без команд и форм: любой текст, написанный боту вне активного сценария (ввода промокода, реквизитов и т.п.), становится тикетом. Ответы из кабинета прилетают юзеру в ту же личку — переписка не рвётся.
Как течёт тикет
- Юзер пишет боту текст. Если открытого тикета нет — создаётся новый (тема = первые 64 символа сообщения), юзер видит «🆗 Тикет #N создан — ответим здесь».
- Следующие сообщения добавляются к тому же тикету — у пользователя всегда не больше одного открытого тикета, бот отвечает «Добавил к тикету ✍️».
- Админ отвечает из кабинета — юзеру в личку уходит «💬 Ответ поддержки по тикету #N: …», тикет переходит в статус
waiting. - Юзер пишет снова — статус возвращается в
open, тикет всплывает наверх списка.
Статусы: open (ждёт ответа поддержки) → waiting (ответили, ждём юзера) → closed. Закрытие — вручную из кабинета.
О каждом новом тикете бот мгновенно сообщает в отчётную форум-группу (топик «tickets»), а если задан SUPPORT_CHAT_ID — зеркалирует сообщения юзеров в группу поддержки.
Кабинет: экран «Тикеты»
Список тикетов со счётчиком открытых, темой, числом сообщений и временем последней активности. Внутри — вся переписка и поле ответа. Ответ доставляется юзеру напрямую через бота: работающий процесс бота для этого не нужен, кабинет шлёт сообщение сам.
Режимы поддержки
Куда направлять обращения, решает SUPPORT_MODE в настройках:
| Режим | Поведение |
|---|---|
tickets (по умолчанию) | тикеты в боте, как описано выше |
redirect | кнопка «Поддержка» ведёт в личку аккаунта из SUPPORT_REDIRECT_USERNAME; свободный текст боту игнорируется |
bot | кнопка ведёт в отдельный саппорт-бот (SUPPORT_BOT_USERNAME) |
miniapp | чат поддержки в мини-аппе |
Связь с ИИ-поддержкой
Если включена ИИ-поддержка, первое звено — не человек: на новое сообщение в тикете ИИ либо отвечает сам, либо эскалирует («Приняли обращение — подключаем оператора»). ИИ не вмешивается в тикеты, которые уже ведёт человек, а сбой ИИ не ломает флоу — юзер просто получает стандартное подтверждение, тикет остаётся в очереди.
Порядок хендлеров
Тикетный «ловец» свободного текста стоит последним: если юзер в этот момент вводит промокод или реквизиты вывода, его сообщение уйдёт по назначению, а не в тикет.
