Тикеты поддержки
Тикеты — приватные каналы для обращений: участник нажимает кнопку, бот создаёт канал, который видят только он и поддержка. Внутри — назначение ответственного, приоритет, внутренние заметки, оценка качества и сохранённая переписка (транскрипт).
Как открыть и включить
Модуль включается в списке модулей переключателем
tickets, и настраивается в разделе «Тикеты». Выключённый модуль прячет команды и кнопку создания.
Чтобы участники смогли открывать обращения, опубликуйте панель: зайдите в
нужный канал и отправьте r!set_forms. Появится сообщение с кнопкой
«Создать обращение».
Настройки
| Настройка | Что делает |
|---|---|
| Категория для каналов | Куда складывать каналы тикетов. Не выбрана — канал появится в корне сервера |
| Роли поддержки | Кто видит каналы обращений |
| Пинговать роль при открытии | Необязательный пинг при новом тикете |
| Приветствие в тикете | Первое сообщение бота в канале |
| Шаблон имени канала | Доступны {username} и {id}; хотя бы один обязателен |
| Приоритет новых тикетов | Значение по умолчанию для всего сервера; категория может его переопределить |
| Открытых тикетов на человека | Запрещает создание новых тикетов, если у пользователя уже открыто максимальное количество |
| Автозакрытие после простоя | Часы без сообщений; 0 — не закрывать |
| Канал для транскриптов | Куда отправлять копию переписки при закрытии |
| Хранение событий/транскриптов/заметок | Срок в днях; 0 — хранить бессрочно. Очистка касается только полностью закрытых тикетов |
| Оценка доступна | Необязательный срок для оценки удовлетворённости пользователя после обращения (CSAT, от 1 до 5 звёзд, см. ниже); 0 — без срока |
Раздел «Команды поддержки и маршрутизация» объединяет Discord-роли в именованные команды. Категории можно направить разным командам и отдельно переопределить родительскую Discord-категорию, роль для пинга, приветствие, шаблон имени и приоритет. Кнопка предпросмотра показывает итог сохранённой конфигурации и источник каждого значения до создания реального тикета.
Приоритет источников ролей: команда категории → глобальные роли → роли,
привязанные к рангам Staff-системы → роль Moderator.
Отдельно выданные права на тикеты (см. «Права для команд»)
добавляются независимо. Изменения ролей пакетно применяются и к открытым
каналам; права доступа удалённых и больше не нужных ролей на канале снимаются.
Категории и форма вопросов
Категории — это варианты обращения («Оплата», «Жалоба», «Баг»). Если категорий нет, тикет открывается сразу; если есть — участник сначала выбирает нужную.
Каждой категории можно задать до пяти вопросов. Тогда при открытии появится форма, а ответы попадут в первое сообщение тикета — модератору не придётся переспрашивать. Пять — предел Discord для таких форм.
Форма показывается до создания канала: если человек её закроет, пустого тикета не останется.
После удаления категория больше не используется для новых обращений. В существующих тикетах сохраняются её прежнее имя и команда, поэтому история не меняется. Две активные категории с одинаковым именем (даже в разном регистре) создать нельзя.
Команды
| Команда | Кто может | Что делает |
|---|---|---|
/ticket queue | поддержка | Очередь открытых обращений |
/ticket close | поддержка, автор | Закрыть текущий тикет с причиной |
/ticket add | поддержка, автор | Добавить участника в тикет |
/ticket remove | поддержка | Убрать участника (кроме автора) |
/ticket transfer | поддержка | Передать обращение другому сотруднику |
/ticket unclaim | назначенный | Вернуть тикет в очередь |
/ticket reopen | поддержка | Переоткрыть закрытый тикет по номеру |
/ticket priority | поддержка | Приоритет: низкий (low), обычный (normal), высокий (high), срочный (urgent) |
/ticket reply | поддержка | Выбрать и отправить безопасный макрос |
/ticket note | поддержка | Внутренняя заметка |
/ticket notes | поддержка | Показать заметки по тикету |
В канале тикета также есть кнопки «Взять в работу» и «Закрыть».
Рабочее место поддержки в панели
Раздел «Тикеты» — полноценная очередь, а не статичный снимок. В ней можно фильтровать обращения по статусу, приоритету, категории, команде, автору, исполнителю и датам, менять сортировку и переходить по страницам. По умолчанию сначала идут срочные и высокие приоритеты, затем самые старые обращения.
Нажмите номер тикета, чтобы открыть карточку справа. В ней доступны ответы формы, участники, хронология событий и история назначений, причина закрытия, оценка и структурированный транскрипт. Ссылка Discord открывает живой канал; если канал удалён вручную, панель показывает предупреждение, но сохранённая история остаётся доступной.
Из панели сотрудник может взять или вернуть тикет в очередь. Право
Управление тикетами (tickets.manage) дополнительно разрешает передачу, смену приоритета и
участников; Внутренние заметки (tickets.notes) — чтение и добавление заметок. Закрытие
всегда требует подтверждения. Изменения прав и закрытие выполняет фоновый
процесс: при временной ошибке Discord операция остаётся видимой и повторяется
автоматически, а не теряется.
Макросы быстрых ответов
Макрос — готовый ответ, который может также менять настройки тикета.
Сотрудник с правом Управление тикетами (tickets.manage) или
Настройка тикетов (tickets.settings) может создать до 100 макросов: задать текст, видимость для одной команды и включить только
разрешённые действия — смену приоритета/ожидания, назначение команды или
внутреннюю заметку. Произвольного кода и скрытых Discord-действий в макросах
нет.
В карточке активного тикета выберите макрос и пройдите три явных шага:
«Вставить» → «Preview» → «Отправить». Кнопка Preview показывает предварительный просмотр: каким будет публичный ответ с актуальными данными тикета. Отправка
устойчива к сбоям: повтор запроса с тем же идентификатором не создаёт второй
ответ. В Discord та же функция доступна через /ticket reply с
автодополнением вариантов.
В ответ можно подставлять данные обращения: имя автора, номер тикета и другие значения.
Доступны переменные requester.name, requester.mention, ticket.id,
category, agent.name и form.1…form.5. Ответ формы можно подставить
только после явного включения поля в блоке «Приватность полей формы».
По умолчанию все поля запрещены. При подготовке ответа бот отключает уведомления от @everyone, @here,
упоминаний ролей и произвольных упоминаний пользователей; разрешено только контролируемое упоминание
автора через requester.mention. Итоговый ответ ограничен 2000 символами.
Ниже очереди находится аналитика за 7/30/90/365 дней. Она показывает количество открытых и ожидающих обращений, сколько создано/закрыто/переоткрыто по дням, сколько времени поддержка обычно тратит на первый ответ и решение, а также какие оценки CSAT ставят пользователи и какая доля пользователей отвечает на просьбу об оценке.
Здесь же видно соблюдение установленных сроков ответа и решения обращения (SLA). Для времени ответа и решения показываются два показателя:
- Медиана — типичное время: половина обращений обработана не дольше этого времени.
- 95-й перцентиль — время, в которое укладываются 95% обращений.
Таблицы по категориям и командам показывают количество обращений, объём открытых, соблюдение SLA, CSAT и возраст обращений. Вклад сотрудников показан без рейтингового места; автозакрытия не считаются работой, а личная оценка CSAT скрыта до пяти оценок.
В разделе «Состояние операций» видны зависшие тикеты, ошибки фоновых задач,
тикеты без канала в Discord, ошибки при обновлении доступа и время ожидания
самой старой незавершённой задачи. С правом Управление тикетами (tickets.manage) можно
открыть диагностику, вернуть задачу с ошибкой в очередь кнопкой «Повторить» или
запустить новую сверку прав.
Очередь и открытая карточка обновляются автоматически каждые 12 секунд. В скрытой вкладке опрос полностью приостанавливается и возобновляется при возвращении. Если два сотрудника одновременно меняют тикет, панель не перезаписывает чужую работу: она показывает уведомление и загружает актуальную версию.
Внутренние заметки хранятся отдельно от переписки и не видны автору обращения — ни в канале, ни в транскрипте. Ответ на
/ticket noteприходит только вам.
Сроки поддержки (SLA) и состояние ожидания
Очередь показывает, кто должен ответить: ждём поддержку или ждём пользователя. Сообщение автора/участника переводит тикет в первое состояние, а публичное сообщение сотрудника — во второе. Сообщения ботов, системные сообщения Discord и сообщения внешних интеграций через вебхуки (webhook), а также внутренние заметки ответом поддержки не считаются.
В настройках задайте правила сроков поддержки (SLA-политику): срок первого ответа, срок решения, порог предупреждения и опцию паузы, пока ждут ответа от пользователя. Политику можно назначить приоритету; политика категории имеет приоритет перед ней. В очереди видны обратный отсчёт, предупреждение, превышение срока и пауза. Карточки метрик показывают медиану и 95-й перцентиль реального времени первого ответа/решения, соблюдение сроков и разбивку по категориям, командам и приоритетам.
Автозакрытие по простою применяется только к тикетам, где уже ждут пользователя. Тикет не закроется из-за того, что поддержка не ответила; системное автозакрытие не увеличивает показатель активности сотрудника (KPI).
Кто считается поддержкой
Доступ можно получить одним из следующих способов:
- Ранг Staff-системы уровня модератора и выше. Отстранённый сотрудник доступ теряет автоматически.
- Права ролей в разделе «Права ролей»:
Работа с тикетами (
tickets.work) — очередь, работа с обращениями, добавление участников; Управление тикетами (tickets.manage) — передача, приоритет, переоткрытие; Внутренние заметки (tickets.notes) — чтение и добавление заметок. Настройка тикетов (tickets.settings) — просмотр и изменение настроек и распределения по командам; это право включает остальные. Закрытие тикетов (tickets.close) — только закрытие: ни очереди, ни взятия в работу, ни добавления участников оно не открывает. - Роль команды поддержки — даёт право Работа с тикетами (
tickets.work) и доступ к её каналам без разрешения Discord Управлять сервером. В панели такая роль видит только тикеты, назначенные её команде; неназначенные и тикеты других команд скрыты. Право, выданное всем командам сразу, Staff-ранг, владелец и разрешение Discord Администратор сохраняют доступ ко всему серверу.
Второй путь удобен, если вы не заводите ранги: достаточно выдать роли
поддержки нужные права. Готовый набор прав (пресет) — support.
Права Управление тикетами (tickets.manage) и Внутренние заметки (tickets.notes) включают право Работа с тикетами (tickets.work). Отстранение или
активный отпуск временно снимают обычный доступ к тикетам; назначенный тикет
автоматически возвращается в очередь. Владелец сервера и участники с
разрешением Discord Администратор сохраняют полный доступ независимо от
этих ограничений.
Закрытие, оценка и история
Закрыть тикет может автор обращения, поддержка (Staff-ранг или tickets.work)
и участник с отдельным правом Закрытие тикетов (tickets.close) — как командой /ticket close,
так и кнопкой Закрыть в самом тикете.
При закрытии бот собирает переписку, отправляет её в канал транскриптов (если задан) и сохраняет в панели. Автору уходит личное сообщение с просьбой оценить работу от 1 до 5 звёзд.
Архив не ограничен последними 500 сообщениями: бот читает канал целиком и сохраняет текст, автора на момент отправки, ответы/ссылки, безопасное описание карточек и сведения о вложениях. Сами файлы остаются на серверах Discord и в архив бота не копируются. Канал удаляется только после завершения записи архива.
Оценка учитывается в метриках раздела. Закрытие засчитывается в KPI назначенному модератору, а если тикет никто не брал — закрывшему. Самозакрытие автором не засчитывается никому.
Вкладка «История обращений» показывает все тикеты, включая закрытые, с приоритетом и оценкой. В карточке архива видны сохранённые ответы формы, активные/удалённые участники и сообщения с постраничной загрузкой; там же можно скачать переписку как текст с разметкой (Markdown) или как данные для обработки программами (JSON). Переписка и заметки открываются раздельно: внутренние заметки не входят ни в один экспорт. История хранится в панели и переживает удаление канала в Discord. Для старых тикетов панель автоматически показывает прежний текстовый транскрипт без разметки.
История, хронология событий и сообщения архива загружаются отдельными страницами. Кнопка «Загрузить ещё» позволяет перейти дальше первых 50 тикетов и первых 200 событий — скрытого клиентского лимита у этих списков нет.
Если настроен срок хранения, бот очищает данные пакетами раз в час. Открытые тикеты и тикеты с активной операцией никогда не затрагиваются. После удаления структурированного транскрипта на его месте остаётся карточка-заглушка с датой очистки, исходным числом сообщений и размером; сам тикет, сессия и оценка сохраняются.
Автозакрытие
Если задать порог простоя, бот закроет обращения, в которых давно нет
сообщений. По умолчанию функция выключена (0 часов). Проверка идёт раз в полчаса.
Автоматизации Flow
Сценарии (флоу, Flow) в конструкторе команд могут запускаться при событиях тикетов. Такое событие запуска называется триггером. Для них разрешены только безопасные действия, специфичные для тикетов: приоритет, ожидание, команда/исполнитель, внутренняя системная заметка и уведомление в настроенный staff-канал. Закрытие, переоткрытие, произвольный код (Custom Code) и обычные Discord-действия (выдать роль, отправить сообщение и т. п.) внутри таких флоу недоступны.
Запуск, версия схемы флоу и результат каждого действия сохраняются в базе данных. После перезапуска бот продолжает ту же опубликованную версию схемы флоу и не повторяет уже выполненное изменение. Уведомления устойчивы к сбоям и не теряются при временной ошибке; окончательный отказ виден в разделе «Состояние операций».
Если в момент события на сервере одновременно выполняется слишком много флоу,
запуск не теряется, а откладывается — как отложенное продолжение в
конструкторе: сначала на 1 минуту, затем с растущим интервалом до 15 минут,
не больше 8 раз (около 75 минут в сумме). Если свободного места так и не
нашлось, запуск отменяется, а в журнале /staff audit появляется запись
«Ticket Flow завершён с ошибкой».
Частые вопросы
Тикеты создаются не в той категории. Откройте предпросмотр итоговых настроек выбранной категории: рядом с каждым значением показан его источник.
Сотрудник не видит канал обращения. Проверьте роли команды категории и
предпросмотр итоговых настроек. Можно также выдать его роли право Работа с тикетами (tickets.work);
после изменения доступ к каналу будет исправлен при ближайшей автоматической
сверке прав.
Участник не может открыть второй тикет. Сработал лимит открытых обращений — увеличьте его в настройках.
Переоткрыл тикет, а канала нет. При закрытии канал удаляется. Переоткрытие надёжно создаёт новый канал — если попытка не удалась, её можно повторить. Проверьте раздел «Состояние операций»: неудачную попытку переоткрытия можно явно повторить, а старый закрытый канал намеренно не используется повторно.
В «Состоянии операций» появилась ошибка прав. Проверьте у бота права Управлять каналами и Управлять ролями именно в нужной категории/канале, а также положение его роли выше назначаемых ролей. После исправления нажмите «Повторить» или «Сверить права» — упавшая задача не считается успешно применённой сама по себе.
Макрос не появляется в списке. Проверьте, что он включён, относится к
команде текущего тикета и у роли сотрудника есть доступ к этой команде. Для
действий смены приоритета/команды требуется право Управление тикетами (tickets.manage), для внутренней
заметки — Внутренние заметки (tickets.notes).