Обзор
Система поддержки работает в трёх режимах, задаваемых переменнойSUPPORT_SYSTEM_MODE:
Режим переключается без перезапуска бота из админ-панели.
Тикеты для пользователей
Создание тикета
- Пользователь нажимает “Поддержка” в главном меню
- Выбирает “Создать тикет”
- Вводит заголовок (5-255 символов)
- Вводит описание (10-500 символов) или отправляет фото с подписью
- Тикет создаётся со статусом
openи приоритетомnormal - Администратор получает уведомление
Просмотр тикетов
- Мои тикеты — список открытых/отвеченных тикетов с пагинацией (10 на страницу)
- Закрытые тикеты — отдельная вкладка с историей
- Детальный просмотр с историей сообщений (разбивка по 3500 символов на страницу)
- Кнопка “Вложения” для просмотра фото (отправляются как медиагруппа)
Ответ на тикет
- Текст 5-400 символов или фото с подписью
- При ответе пользователя статус меняется на
open - Антиспам: 1 сообщение в 2 секунды, подавление дублей после создания (6 сек)
Закрытие тикета
Пользователь может закрыть свой тикет в любой момент. История сообщений сохраняется (только чтение).Статусы и приоритеты
Статусы тикетов
Приоритеты
Администрирование тикетов
Просмотр
- Два раздела: Открытые (open + answered) и Закрытые
- Список с пагинацией (10 на страницу)
- Каждый тикет показывает: статус, приоритет, имя пользователя, username, Telegram ID
- Детальный просмотр с историей сообщений и ссылками на профиль пользователя
Действия администратора
Все действия записываются в журнал аудита (
support_audit_logs).
SLA-система
SLA-мониторинг проверяет тикеты без ответа администратора и отправляет уведомления при нарушении.Как работает
- Фоновая задача проверяет тикеты через заданный интервал
- Если тикет со статусом
openне получил ответа дольше, чемSLA_MINUTES— отправляется уведомление - Повторные напоминания отправляются с учётом cooldown
- При ответе пользователя таймер SLA сбрасывается
Настройка
Все параметры SLA можно менять в реальном времени из админ-панели бота или через Cabinet API без перезапуска.
Модераторы
Модераторы — обычные пользователи с ограниченным доступом к тикетам. Управление модераторами доступно из раздела настроек поддержки в админ-панели.Возможности модераторов
- Просмотр всех тикетов (открытых и закрытых)
- Ответ на тикеты
- Закрытие тикетов (единичное и массовое)
- Блокировка/разблокировка пользователей
- Просмотр вложений
is_moderator=True.
Управление
- Добавить модератора — указать Telegram ID
- Удалить модератора — указать Telegram ID
- Список модераторов — показать всех
Вложения
Поддерживаются фотографии:- Пользователи могут прикрепить фото при создании тикета или в ответе
- Администраторы могут отправить фото в ответе
- Фото хранятся как Telegram
file_id - Просмотр через кнопку “Вложения” — отправляются медиагруппой (до 10 фото)
Мультимедиа-галерея
В одном сообщении тикета можно отправить до 10 вложений (фото, документы). Вложения группируются в медиагруппу и отображаются как галерея:- Пользователь отправляет несколько фото или файлов одним сообщением (медиагруппой Telegram)
- Все вложения из медиагруппы привязываются к одному сообщению тикета
- При просмотре вложения отображаются как единая галерея
- Максимум 10 вложений на одно сообщение (ограничение Telegram API)
Уведомления
Тикет-система использует 4 канала уведомлений:Защита от злоупотреблений
- Один активный тикет — нельзя создать новый при наличии открытого
- Глобальная блокировка — заблокированный в любом тикете пользователь не может создавать новые
- Rate limiting — 1 сообщение в 2 секунды (через Redis)
- Защита от дублей — проверка FSM-состояния + подавление на 6 секунд после создания
- Автоудаление сообщений — пользовательские сообщения удаляются через 2 секунды для чистоты чата
Настройки поддержки
Основные переменные
Настройки из админ-панели (без перезапуска)
Уведомления
Cabinet и Web API
Тикет-система полностью доступна через Cabinet (веб-интерфейс) и Web API:- Пользователи: создание тикетов, ответы, просмотр уведомлений (текст до 4000 символов)
- Администраторы: просмотр всех тикетов, ответы, смена статуса/приоритета, статистика
- Web API: полный доступ через токен (статус, приоритет, блокировки, ответы, медиа)
