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:
TheOnlyMace
2026-07-25 16:06:17 +02:00
parent dba7bb3cdc
commit 1eec10ba80
19 changed files with 476 additions and 47 deletions

View File

@@ -0,0 +1,3 @@
-- AlterTable
ALTER TABLE "TicketConfig" ADD COLUMN "panelChannelId" TEXT;
ALTER TABLE "TicketConfig" ADD COLUMN "panelMessageId" TEXT;

View File

@@ -513,6 +513,8 @@ model TicketConfig {
mode String @default("CHANNEL")
categoryId String?
logChannelId String?
panelChannelId String?
panelMessageId String?
transcriptDm Boolean @default(false)
inactivityHours Int @default(72)
ratingEnabled Boolean @default(true)