Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages