Implement leave announcement for banned members and enhance moderation notifications

- Added a `leaveAnnounceBan` field to the `WelcomeConfig` model, allowing for optional announcements in the leave channel when a member is banned.
- Updated the leave handling logic to check for bans and send a notice in the leave channel if the `leaveAnnounceBan` toggle is enabled.
- Enhanced moderation actions (kick and ban) to notify the affected user via DM with the reason for the action.
- Introduced a new `notifyModerationTargetDm` function to streamline DM notifications for moderation actions.
- Updated the WebUI to include a toggle for the `leaveAnnounceBan` feature, improving user configurability.
- Improved localization for new messages related to moderation notifications and leave announcements in both English and German.
- Documented changes in phase tracking to reflect the new leave announcement feature and moderation notification enhancements.
This commit is contained in:
TheOnlyMace
2026-07-25 17:50:18 +02:00
parent 03bb406d82
commit e2bab9cceb
16 changed files with 198 additions and 5 deletions

View File

@@ -634,6 +634,24 @@
- [ ] AutoMod-WARN → ebenfalls DM + Case verknüpft
- [ ] Dashboard: Warn-Tabelle zeigt `#`-Spalte
## Post-Phase Ban/Kick-DM + Leave-Ban-Hinweis (Status: implementiert)
### Abgeschlossen (Code)
- DM vor Ban/Kick (Slash, Confirm, AutoMod, Eskalation, Verifizierung) mit Server + Grund (+ Dauer bei Temp-Ban)
- WelcomeConfig `leaveAnnounceBan` (Default aus); WebUI-Toggle unter Abschied
- Bei Leave + Toggle: Ban-Check via `guild.bans.fetch` → Zusatzzeile im Leave-Kanal
- Migration `20260725190000_leave_announce_ban`
### Manuell testen
- [ ] `/kick` → Ziel erhält DM; Moderator sieht Case-Erfolg
- [ ] `/ban` (Confirm) → DM vor Ban; Temp-Ban zeigt Dauer in der DM
- [ ] Leave-Kanal: normales Leave ohne Ban → nur Abschiedsnachricht
- [ ] Leave-Kanal: Ban mit Toggle an → Abschied + „wurde gebannt“ inkl. Grund
- [ ] Leave-Kanal: Ban mit Toggle aus → nur Abschiedsnachricht
- [ ] User mit geschlossenen DMs → Ban/Kick läuft trotzdem
## Post-Phase AutoMod Standard-Wortliste DE/EN (Status: implementiert)
### Abgeschlossen (Code)