Маяри

Тикеты

Приватные каналы поддержки по кнопке — от создания до автоматического архива переписки

Тикеты — это классическая система поддержки: участник жмёт кнопку на панели, получает свой приватный канал с сотрудниками поддержки, а после закрытия вся переписка сохраняется в архив. Никаких слэш-команд — всё управляется кнопками прямо в Discord.

TL;DR для нетерпеливых. Кнопка на панели → модалка (причина + описание) → приватный пронумерованный канал только для автора и поддержки. У тикета три кнопки: закрыть, заморозить, пригласить/исключить. При закрытии переписка (включая картинки и гифки) архивируется и доступна в панели ещё logRetentionDays дней (по умолчанию 30), потом удаляется сама.

🎟️ Как это выглядит для участника

  1. Нажимает кнопку «Открыть тикет» на панели в специальном канале (её отправляет админ из веб-панели).
  2. Заполняет модальное окно: короткая причина обращения и подробное описание — оба поля обязательны.
  3. Маяри создаёт приватный текстовый канал 🎟️-username-номер в заданной категории (или в той же категории, где стоит панель, если своя не выбрана) и пингует автора и роли поддержки.

Ограничения против спама. У каждого участника может быть только один активный тикет одновременно — новый не создать, пока не закрыт текущий. После создания тикета включается 10-минутный кулдаун на повторное открытие.

🔧 Управление тикетом

В канале тикета — три кнопки, доступные только сотрудникам с ролью поддержки:

КнопкаЧто делает
🔒 ЗакрытьАрхивирует переписку и удаляет канал (см. ниже)
🥶 Заморозить / 🔥 РазморозитьОтключает автору тикета возможность писать в канале, не трогая доступ персонала
🙋 ПригласитьОткрывает выбор пользователя — если у него уже был доступ, он забирается; если не было — выдаётся

📜 Закрытие и архив

При закрытии Маяри не просто удаляет канал — она честно сохраняет всё, что в нём было:

  • Собирает до 500 последних сообщений с датами и авторами.
  • Перезаливает в собственное хранилище (Cloudflare R2) все вложения, картинки/видео из эмбедов (включая гифки Tenor/Giphy) и даже ссылки на медиа прямо в тексте сообщений — оригинальные ссылки Discord протухают, R2-копии остаются доступны всегда.
  • Сохраняет получившийся транскрипт с указанием, кто создал тикет и кто его закрыл.
  • Присылает подтверждение в канал и удаляет его через 5 секунд.

Архив живёт ограниченное время. Транскрипт хранится logRetentionDays дней (по умолчанию 30) и затем удаляется из базы автоматически — TTL на уровне MongoDB, никакой ручной чистки не требуется. Посмотреть архивные переписки, отфильтровать по имени/дате или удалить лог раньше срока можно в разделе «Логи тикетов» веб-панели.

🛠️ Что настраивается в панели

Раздел «Тикеты» в веб-панели:

  • включение модуля;
  • канал, где публикуется панель с кнопкой создания;
  • категория, в которой создаются каналы тикетов;
  • роль (или несколько ролей) поддержки — именно они видят новые тикеты и могут ими управлять;
  • срок хранения архива (logRetentionDays);
  • содержимое самой панели — обычное сообщение или Embed (включая формат V2), полностью на усмотрение админа.

Куда дальше

  • Модерация — если тикет перерастает в разбирательство, наказания настраиваются отдельно.
  • Тэги конструктора сообщений — переменные для других кастомных сообщений (приветствия, бусты, уровни).

On this page