HELPER APPLICATIONS СИСТЕМА ЗАЯВОК DISCORD MODAL / STAFF REVIEW / VOICE INTERVIEW
Модуль заявок превращает набор игроков, staff или участников проекта в понятный pipeline: публичная плашка, Discord Modal, staff-карточка, приватный обзвон, DM-прогресс, архив решений и защита от дублей.
Что делает Applications
Applications — это система подачи и проверки заявок внутри Discord. Она заменяет личные сообщения администраторам на единый маршрут: публичная панель → анкета → staff-проверка → обзвон → решение → архив.
Публичная витрина
Бот публикует embed с баннером, статусом набора и кнопкой подачи заявки.
Анкета в Modal
Кандидат заполняет до пяти вопросов. Ответы уходят не в общий чат, а в staff-канал.
Staff pipeline
Проверяющие берут заявку в работу, создают обзвон, одобряют или отклоняют.
Как быстро запустить
Рекомендуемый порядок: подготовить каналы и роли, выполнить slash-команду настройки, выбрать стандартные или свои вопросы, затем проверить публичную панель.
Канал витрины
Например #заявки. Тут будет публичная кнопка подачи.
Канал проверок
Например #staff-apps. Доступ только у staff и бота.
Архивы
Отдельные каналы для одобренных и отклонённых заявок.
Staff-роль
Роль проверяющих, которые смогут нажимать кнопки staff-панели.
Что происходит после setup
Бот сохраняет настройки по серверу, публикует или обновляет панель заявок и предлагает выбрать стандартные вопросы или создать свои вопросы для анкеты.
Настройка через Discord
Администратор может запустить модуль без сайта через slash-команды. Команды доступны только на сервере и только администраторам.
/application_setup
banner_channel: #заявки
log_channel: #staff-apps
approved_channel: #apps-approved
rejected_channel: #apps-rejected
staff_role: @Curator
banner_approve: https://...
banner_reject: https://...Команда сохраняет каналы, staff-роль, статус набора и сразу пытается опубликовать панель.
/application_deployКоманда принудительно публикует или обновляет панель заявок, если настройки уже сохранены.
Как выглядит в Discord
Ниже — визуальные макеты того, что увидит покупатель, кандидат и staff-команда после запуска модуля.
Путь обычного пользователя
видит кнопку подачи
заполняет вопросы
получает статус
заходит на обзвон
получает вердикт
Защита от повторной подачи
Если у кандидата уже есть активная заявка или действует cooldown, бот не откроет новую заявку и покажет понятное ephemeral-сообщение.
Путь администратора
Staff работает не через команды, а через кнопки в закрытой карточке заявки.
Взять в работу
Заявка закрепляется за проверяющим, другие staff не перехватывают её.
Назначить обзвон
Бот создаёт приватную voice-комнату и отправляет кандидату DM.
Одобрить
Итог уходит в approved-архив, кандидат получает поздравление.
Отклонить
Staff указывает причину, итог уходит в rejected-архив.
Приватные обзвоны
Для собеседования бот использует категорию из настроек. Если категория не задана, он ищет управляемую категорию HELPER ОБЗВОНЫ, а при необходимости создаёт её сам.
После завершения временная voice-комната очищается, а staff-карточка возвращается к финальному решению.
Настройка на сайте
На сайте владелец управляет теми же параметрами, что и через Discord setup, но с визуальными полями, предпросмотром и сохранением по серверу.
banner_channel_idканал публичной панелиlog_channel_idstaff-канал или forum для новых заявокapproved_channel_idархив одобренных заявокrejected_channel_idархив отклонённых заявокstaff_role_idsроли, которые могут проверять заявкиcustom_titleзаголовок публичной панелиcustom_descriptionописание для кандидатаcustom_button_textтекст кнопки подачиquestionsсписок вопросов, максимум 5banner_app_*баннеры для панели, review, interview, approve, rejectПочему не ломается
Модуль использует состояния и atomic-операции, чтобы один пользователь не создал несколько активных заявок, а две staff-кнопки не финализировали одну заявку одновременно.
резерв заявки
карточка создана
staff проверяет
идёт обзвон
approved/rejected
Автоочистка
Garbage collector чистит устаревшие рабочие заявки, удалённые сообщения, временные voice-комнаты и старые cooldown/history-записи.
Права и каналы
Панель
Бот должен видеть канал и отправлять embed с кнопками.
Staff-канал
Нужны сообщения, embeds, threads и webhooks для красивой карточки заявки.
Voice
Для обзвонов нужны Manage Channels, View Channel и Connect.
Если модуль выключен
Старые кнопки не удаляются, но ProtectedView блокирует действия. Пользователь увидит, что модуль обесточен, а настройки и данные сохранятся.
Ошибки и решения
Панель не появилась после setup
Проверьте, что у бота есть права отправлять сообщения и embeds в banner_channel_id. Затем выполните /application_deploy.
Кандидат не может подать заявку
Проверьте, открыт ли набор is_open=true, включён ли модуль на сайте и нет ли активной заявки или cooldown у пользователя.
Staff не видит кнопки или не может нажимать
Проверьте staff_role_ids. Администраторы проходят проверку автоматически, остальные должны иметь одну из staff-ролей.
Обзвон не создаётся
Проверьте права Manage Channels и наличие категории category_id. Если категории нет, бот попробует создать управляемую категорию HELPER ОБЗВОНЫ.
DM не приходит кандидату
У пользователя могут быть закрыты личные сообщения. Заявка всё равно будет обработана, но DM-прогресс не доставится.