smueller 4b6736444c Enhance command registration process and improve guild command handling
- Introduced a new `buildCommandBody` function to prevent duplicate command definitions during registration.
- Implemented `clearGuildCommandLeftovers` to remove unused guild-scoped commands, ensuring a clean command picker in Discord.
- Updated command registration logic to clear global commands when using guild-specific commands, improving command visibility and user experience.
- Enhanced logging to provide clearer insights into command registration and cleanup processes.
2026-07-23 10:24:47 +02:00

Nexumi

Nexumi is a 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%