smueller 2518119257 Enhance bot functionality with AutoMod, Logging, Welcome, and Verification features
- Implemented AutoMod capabilities including spam filtering, anti-raid, and anti-nuke actions.
- Added Logging module to track moderation actions and events across the bot.
- Introduced Welcome module for customizable welcome messages and autoroles.
- Developed Verification system with captcha and role assignment features.
- Updated Prisma schema to include new models for AutoMod, Logging, Welcome, and Verification.
- Enhanced command localization for new features in both German and English.
- Improved health server to handle captcha verification requests.
- Added new environment variable for public base URL to support captcha links.
2026-07-22 12:28:42 +02:00

Nexumi

Nexumi is a self-hosted public Discord bot with dashboard architecture, built as a TypeScript monorepo.

Phase 1 scope

  • Monorepo foundation with apps/bot and packages/shared
  • PostgreSQL + Redis compose stack
  • Prisma core schema (Guild, GuildSettings, User, Case) plus moderation tables (Warning, ModNote)
  • Command and module framework for slash command routing
  • Permission layer and i18n starter (de + en)
  • BullMQ integration for persistent moderation jobs (temp-ban expiration)
  • Complete moderation reference command set for Phase 1

Quickstart

  1. Copy .env.example to .env and fill required values.
  2. Install dependencies:
    • pnpm install
  3. Generate Prisma client:
    • pnpm prisma:generate
  4. Apply database migrations:
    • pnpm prisma:migrate
  5. Start stack:
    • docker compose up -d
  6. Start bot locally:
    • pnpm --filter @nexumi/bot dev

Verification commands

  • pnpm typecheck
  • pnpm lint
  • pnpm test

Database

See docs/DATABASE.md for migrations, backup and restore runbooks.

Backup and restore note

Phase 1 includes the BullMQ foundation for scheduled jobs. Database backup rotation is configured via BACKUP_RETENTION_DAYS and the backups volume is already reserved in compose.

Restore flow (manual, PostgreSQL container):

  1. Stop bot/web services.
  2. Copy dump into postgres container.
  3. Run psql restore against nexumi database:
    • docker compose exec -T postgres psql -U nexumi -d nexumi < /path/to/backup.sql
  4. Start services again.
Description
A Discord Bot
Readme 5.5 MiB
Languages
TypeScript 96.4%
PHP 2.8%
CSS 0.5%
Dockerfile 0.2%