Implement ticket panel synchronization and configuration updates
- Added `panelChannelId` and `panelMessageId` fields to the `TicketConfig` model for managing ticket panel settings. - Introduced `syncTicketPanel` function to handle posting and updating the ticket panel in Discord channels via BullMQ. - Enhanced error handling for ticket panel synchronization, including specific error messages for missing categories and posting failures. - Updated WebUI components to support panel channel selection and improved error messaging for synchronization issues. - Added localization entries for new error messages related to ticket panel synchronization in both English and German. - Refactored ticket category management to trigger panel synchronization upon category creation, update, or deletion.
This commit is contained in:
@@ -481,3 +481,21 @@
|
||||
- [ ] Speichern mit geändertem Modus → bestehendes Panel wird aktualisiert
|
||||
- [ ] Kanal wechseln und speichern → altes Panel weg, neues im Zielkanal
|
||||
- [ ] Bot ohne Send-Permission → Fehlermeldung; Config bleibt gespeichert, erneutes Speichern nach Fix
|
||||
|
||||
## Post-Phase – Ticket Panel aus WebUI + Kategorie-Emoji-Picker (Status: implementiert)
|
||||
|
||||
### Abgeschlossen (Code)
|
||||
|
||||
- Root cause: Dashboard speicherte Ticket-Config/Kategorien ohne Panel in Discord
|
||||
- Prisma `TicketConfig.panelChannelId` / `panelMessageId`; Migration `20260725160000_ticket_panel`
|
||||
- BullMQ-Job `ticketPanelSync` (Queue `tickets`); Sync auch bei Kategorie create/update/delete
|
||||
- `syncTicketPanel` shared für `/ticket panel_create` und Dashboard; Custom-Emoji-Parsing für Buttons/Select
|
||||
- WebUI: Panel-Kanal-Picker; `DiscordEmojiSelect` in Kategorie-Erstellung und -Bearbeitung
|
||||
- Emoji-Zod max 80 (Custom-Emoji-Format)
|
||||
|
||||
### Manuell testen
|
||||
|
||||
- [ ] WebUI: Kategorie(n) anlegen, Panel-Kanal setzen, Speichern → Panel mit Buttons im Kanal
|
||||
- [ ] Kategorie mit Emoji-Picker (Unicode + Server-Emoji) speichern → Button zeigt Emoji
|
||||
- [ ] Kategorie ändern/löschen → Panel-Buttons aktualisieren sich
|
||||
- [ ] Panel-Kanal wechseln → altes Panel weg, neues im Zielkanal
|
||||
|
||||
Reference in New Issue
Block a user