Skip to content
MilkGamesPublic

About

Discord бот для автоматизации рабочих процессов Weazel News на серверах Majestic RP.

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

27 Commits

Folders and files

Repository files navigation

WN Helper

Discord бот для автоматизации рабочих процессов Weazel News на серверах Majestic RP.

Требования

  • Node.js 20 или новее
  • Discord-приложение с настроенным bot token
  • доступный HTTP-порт для вебхуков форм и экзаменации

Установка

npm ci

Создайте .env на основе .env.example:

token=
WEBHOOK_KEY=
TEST_KEY=

Несекретные глобальные параметры находятся в config.json. Серверные настройки изменяются через /settings и сохраняются в data/localdb.json.

Проверка перед запуском

npm run check

Команда запускает полный набор тестов и синтаксическую проверку всех JavaScript-файлов. Она сработает только на Linux, для Windows используйте команды в следующем порядке:

node --test
npm run test:syntax

Запуск

Linux:

npm start

Windows:

node .\src\index.js

Корректно завершайте процесс через Ctrl+C, SIGTERM или owner-only действие /manualtools shutdown_instance. Бот остановит планировщики и фоновые воркеры, дождётся очереди базы, отключит Discord-клиент и освободит блокировку инстанса.

HTTP endpoints

  • GET /webhook - проверка вебхук-сервера; при заданном TEST_KEY возвращает его в ответе.
  • POST /webhook - приём форм и результатов экзаменов. Предпочтительно передавать WEBHOOK_KEY в заголовке x-webhook-key; параметр ?key= сохранён для совместимости.

Операционная диагностика

  • /manualtools webhook_status - состояние HTTP-сервера, обработчиков, воркеров и очередей форм и экзаменов.
  • /manualtools pending_status - сводка незавершённых операций, dead-задач webhook и конфликтов активного плана восстановления.
  • /settings -> Диагностика - проверка каналов, ролей, иерархии бота и необходимых Discord-полномочий для включённых функций.

После завершения всех обработчиков запуска бот пишет итоговую строку WN Helper полностью готов. Если какой-либо обязательный компонент не готов, вместо неё выводится WN Helper запущен с проблемами готовности со списком причин.

Данные и восстановление

Основная база: data/localdb.json.

Перед изменением файла создаётся предыдущая копия, дополнительно работает почасовое резервное копирование. При повреждении JSON бот переходит в режим восстановления и блокирует обычные изменения. Сравнение и применение резервной копии выполняются вручную через owner-only подкоманды /manualtools database_*.

About

Discord бот для автоматизации рабочих процессов Weazel News на серверах Majestic RP.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages