Enhance tag management with cooldown feature and related updates
- Added a `cooldownSeconds` field to the `Tag` model, allowing for customizable cooldown periods between tag responses. - Updated tag command handling to incorporate cooldown logic, preventing spam and improving user experience. - Enhanced the WebUI to support cooldown configuration for tags, including input validation and localization for cooldown messages. - Refactored tag-related service functions to manage cooldowns effectively, ensuring accurate tracking and enforcement. - Improved localization for new cooldown-related messages in both English and German.
This commit is contained in:
@@ -567,3 +567,34 @@
|
||||
- [ ] Alt-Check mit Block → User sieht Fehler-Ephemeral; Log-Kanal bekommt Embed
|
||||
- [ ] Alt-Check nur Flag (ohne Block) → User wird verifiziert, Log trotzdem
|
||||
|
||||
## Post-Phase – Tag Auto-Responder Cooldown (Status: implementiert)
|
||||
|
||||
### Abgeschlossen (Code)
|
||||
|
||||
- `Tag.cooldownSeconds` (Default 15, 0 = aus) inkl. Migration `20260725170000_tag_cooldown`
|
||||
- Auto-Responder: kanalbezogener Redis-Cooldown, bei aktivem Cooldown stille Ignorierung (kein Spam)
|
||||
- `/tag run`: nutzerbezogener Cooldown mit ephemeral Hinweis
|
||||
- Dashboard Tags: Cooldown-Feld (DE/EN), Shared Zod + WebUI Persistenz
|
||||
|
||||
### Manuell testen
|
||||
|
||||
- [ ] Tag mit Trigger-Wort: zweimal schnell tippen → nur erste Antwort
|
||||
- [ ] Cooldown im Dashboard auf 0 setzen → Bot antwortet wieder sofort
|
||||
- [ ] `/tag run` während Cooldown → ephemeral mit Restzeit
|
||||
|
||||
## Post-Phase – Server-Stats WebUI Refresh (Bugfix)
|
||||
|
||||
### Abgeschlossen (Code)
|
||||
|
||||
- Root cause: Dashboard speicherte nur `StatsConfig`, ohne Discord-Kanal-Rename; Cron erst alle 10 Min. Online-Count ohne `withCounts` oft 0 (kein GuildPresences-Intent)
|
||||
- BullMQ-Job `statsRefreshGuild` (Queue `stats`); WebUI triggert nach Speichern bei enabled + mind. einem Kanal
|
||||
- Guild-Fetch mit `withCounts: true` für `approximatePresenceCount` / Member-Approx
|
||||
- `/stats setup|refresh` refresht nur den aktuellen Guild (nicht alle)
|
||||
|
||||
### Manuell testen
|
||||
|
||||
- [ ] WebUI: Stats aktivieren, Voice-Kanäle setzen, Speichern → Kanalnamen zeigen `{count}`-Werte innerhalb weniger Sekunden
|
||||
- [ ] Toggle aus → Speichern → keine weiteren Renames (Cron überspringt disabled)
|
||||
- [ ] Online-Kanal zeigt sinnvolle Zahl (nicht dauerhaft 0)
|
||||
- [ ] Bot ohne „Kanäle verwalten“ → Config gespeichert; Bot-Log warnt; nach Permission-Fix erneut speichern
|
||||
|
||||
|
||||
Reference in New Issue
Block a user