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.
This commit is contained in:
@@ -1,82 +1,140 @@
|
||||
# Nexumi – Phasen-Tracking
|
||||
|
||||
Dieses Dokument hält den aktuellen Implementierungsstand fest. Es wird bei jedem Arbeitsfortschritt aktualisiert.
|
||||
|
||||
## Assets
|
||||
|
||||
- Bot-Logo vorhanden: `docs/logo/nexumi-logo.svg`
|
||||
|
||||
## Phase 1 – Fundament (Status: in Arbeit)
|
||||
|
||||
### Bereits abgeschlossen
|
||||
|
||||
- Monorepo-Basis mit Workspaces:
|
||||
- `apps/bot`
|
||||
- `packages/shared`
|
||||
- Basis-Tooling:
|
||||
- TypeScript strict
|
||||
- ESLint
|
||||
- Prettier
|
||||
- Vitest
|
||||
- Turbo
|
||||
- Docker-Compose-Grundstack:
|
||||
- `postgres` mit Healthcheck
|
||||
- `redis` mit Healthcheck
|
||||
- `bot`
|
||||
- `webui`-Scaffold-Service (temporär)
|
||||
- `backups` Volume angebunden
|
||||
- Prisma-Grundmodell inkl. Moderationsdaten:
|
||||
- `Guild`
|
||||
- `GuildSettings`
|
||||
- `User`
|
||||
- `Case`
|
||||
- `Warning`
|
||||
- `ModNote`
|
||||
- `EscalationRule`
|
||||
- Bot-Grundarchitektur:
|
||||
- Sharding-Startpfad
|
||||
- Command-Registrierung
|
||||
- Command-Routing
|
||||
- zentraler Permission-Check
|
||||
- Basis-i18n in `@nexumi/shared`
|
||||
- Guild-Locale-Auflösung über DB-Settings mit Fallback auf Env-Default
|
||||
- Health-Endpoint (`/health`) und token-geschütztes `/metrics`-Scaffold
|
||||
- BullMQ-Integration:
|
||||
- Moderation-Queue
|
||||
- Temp-Ban-Expire-Job
|
||||
- täglicher Backup-Job (`pg_dump`)
|
||||
- Backup-Retention-Cleanup
|
||||
- Moderation als Referenzmodul (implementiert):
|
||||
- `/ban`, `/unban`, `/kick`, `/timeout`, `/untimeout`
|
||||
- `/warn add|list|remove|clear`
|
||||
- `/warn escalation-set|escalation-list|escalation-remove`
|
||||
- `/purge` (Filter: User, Bots, Links, Attachments, Regex)
|
||||
- `/slowmode`, `/lock`, `/unlock`
|
||||
- `/nick set|reset`
|
||||
- `/case view|edit|delete`
|
||||
- `/modnote add|list`
|
||||
- user-facing Reply-Strings im Moderationsfluss auf i18n-Keys umgestellt (`de`/`en`)
|
||||
- Slash-Command-Beschreibungen und Optionstexte lokalisiert (`de` + `en-US` via Discord-Localizations)
|
||||
- Bestätigungsflow für destruktive Aktionen (`/ban`, `/purge`, `/case delete`) mit Buttons
|
||||
- standardisierte Case-Audit-Metadaten über `@nexumi/shared` (`buildCaseMetadata`)
|
||||
- Prisma-Migrationen versioniert:
|
||||
- `apps/bot/prisma/migrations/20260722123000_init`
|
||||
- Tests (aktuell vorhanden):
|
||||
- `packages/shared/src/i18n.test.ts`
|
||||
- `packages/shared/src/audit.test.ts`
|
||||
- `apps/bot/src/modules/moderation/duration.test.ts`
|
||||
|
||||
### Noch offen für Phase 1
|
||||
|
||||
- `docker compose up -d` End-to-End gegen echte `.env` und Test-Discord-Guild final verifizieren.
|
||||
|
||||
### Verifikation (letzter Lauf)
|
||||
|
||||
- `pnpm prisma:generate` erfolgreich
|
||||
- `pnpm typecheck` erfolgreich
|
||||
- `pnpm lint` erfolgreich
|
||||
- `pnpm test` erfolgreich
|
||||
|
||||
## Nächster geplanter Schritt
|
||||
|
||||
- Phase 1 vollständig abschließen (offene Punkte oben), dann erst nach expliziter Freigabe in Phase 2 wechseln.
|
||||
# Nexumi – Phasen-Tracking
|
||||
|
||||
|
||||
|
||||
Dieses Dokument hält den aktuellen Implementierungsstand fest. Es wird bei jedem Arbeitsfortschritt aktualisiert.
|
||||
|
||||
|
||||
|
||||
## Assets
|
||||
|
||||
|
||||
|
||||
- Bot-Logo vorhanden: `docs/logo/nexumi-logo.svg`
|
||||
|
||||
|
||||
|
||||
## Phase 1 – Fundament (Status: abgeschlossen, manuelle Discord-Tests ausstehend)
|
||||
|
||||
|
||||
|
||||
### Bereits abgeschlossen
|
||||
|
||||
|
||||
|
||||
- Monorepo-Basis mit Workspaces:
|
||||
|
||||
- `apps/bot`
|
||||
|
||||
- `packages/shared`
|
||||
|
||||
- Basis-Tooling:
|
||||
|
||||
- TypeScript strict
|
||||
|
||||
- ESLint
|
||||
|
||||
- Prettier
|
||||
|
||||
- Vitest
|
||||
|
||||
- Turbo
|
||||
|
||||
- Docker-Compose-Grundstack:
|
||||
|
||||
- `postgres` mit Healthcheck
|
||||
|
||||
- `redis` mit Healthcheck
|
||||
|
||||
- `bot`
|
||||
|
||||
- `webui`-Scaffold-Service (temporär)
|
||||
|
||||
- `backups` Volume angebunden
|
||||
|
||||
- Prisma-Grundmodell inkl. Moderationsdaten:
|
||||
|
||||
- `Guild`
|
||||
|
||||
- `GuildSettings`
|
||||
|
||||
- `User`
|
||||
|
||||
- `Case`
|
||||
|
||||
- `Warning`
|
||||
|
||||
- `ModNote`
|
||||
|
||||
- `EscalationRule`
|
||||
|
||||
- Bot-Grundarchitektur:
|
||||
|
||||
- Sharding-Startpfad
|
||||
|
||||
- Command-Registrierung
|
||||
|
||||
- Command-Routing
|
||||
|
||||
- zentraler Permission-Check
|
||||
|
||||
- Basis-i18n in `@nexumi/shared`
|
||||
|
||||
- Guild-Locale-Auflösung über DB-Settings mit Fallback auf Env-Default
|
||||
|
||||
- Health-Endpoint (`/health`) und token-geschütztes `/metrics`-Scaffold
|
||||
|
||||
- BullMQ-Integration:
|
||||
|
||||
- Moderation-Queue
|
||||
|
||||
- Temp-Ban-Expire-Job
|
||||
|
||||
- täglicher Backup-Job (`pg_dump`)
|
||||
|
||||
- Backup-Retention-Cleanup
|
||||
|
||||
- Moderation als Referenzmodul (implementiert):
|
||||
|
||||
- `/ban`, `/unban`, `/kick`, `/timeout`, `/untimeout`
|
||||
|
||||
- `/warn add|list|remove|clear`
|
||||
|
||||
- `/warn escalation-set|escalation-list|escalation-remove`
|
||||
|
||||
- `/purge` (Filter: User, Bots, Links, Attachments, Regex)
|
||||
|
||||
- `/slowmode`, `/lock`, `/unlock`
|
||||
|
||||
- `/nick set|reset`
|
||||
|
||||
- `/case view|edit|delete`
|
||||
|
||||
- `/modnote add|list`
|
||||
|
||||
- user-facing Reply-Strings im Moderationsfluss auf i18n-Keys umgestellt (`de`/`en`)
|
||||
|
||||
- Slash-Command-Beschreibungen und Optionstexte lokalisiert (`de` + `en-US` via Discord-Localizations)
|
||||
|
||||
- Bestätigungsflow für destruktive Aktionen (`/ban`, `/purge`, `/case delete`) mit Buttons
|
||||
|
||||
- standardisierte Case-Audit-Metadaten über `@nexumi/shared` (`buildCaseMetadata`)
|
||||
|
||||
- Docker-Build/Runtime-Fixes für E2E:
|
||||
|
||||
- `.dockerignore` ergänzt
|
||||
|
||||
- Prisma-Migration beim Bot-Start (`prisma migrate deploy`)
|
||||
|
||||
- Bot-Healthcheck auf `/health`
|
||||
|
||||
- E2E-Verifikation (automatisiert, lokal):
|
||||
|
||||
- `docker compose up -d --build` erfolgreich
|
||||
|
||||
- Postgres/Redis healthy
|
||||
|
||||
- Migration `20260722123000_init` angewendet
|
||||
|
||||
- Bot online (`Nexumi#9122`), 13 Slash-Commands registriert
|
||||
|
||||
|
||||
Reference in New Issue
Block a user