Тикеты поддержки

Тикеты — приватные каналы для обращений: участник нажимает кнопку, бот создаёт канал, который видят только он и поддержка. Внутри — назначение ответственного, приоритет, внутренние заметки, оценка качества и сохранённая переписка (транскрипт).

Как открыть и включить

Модуль включается в списке модулей переключателем 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).

Кто считается поддержкой

Доступ можно получить одним из следующих способов:

  1. Ранг Staff-системы уровня модератора и выше. Отстранённый сотрудник доступ теряет автоматически.
  2. Права ролей в разделе «Права ролей»: Работа с тикетами (tickets.work) — очередь, работа с обращениями, добавление участников; Управление тикетами (tickets.manage) — передача, приоритет, переоткрытие; Внутренние заметки (tickets.notes) — чтение и добавление заметок. Настройка тикетов (tickets.settings) — просмотр и изменение настроек и распределения по командам; это право включает остальные. Закрытие тикетов (tickets.close) — только закрытие: ни очереди, ни взятия в работу, ни добавления участников оно не открывает.
  3. Роль команды поддержки — даёт право Работа с тикетами (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).