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:
@@ -668,29 +668,36 @@
|
||||
},
|
||||
"tickets": {
|
||||
"title": "Tickets",
|
||||
"description": "Configure how support tickets are created and managed.",
|
||||
"description": "Configure how support tickets are created. Saving (enabled, with panel channel and at least one category) posts or updates the ticket panel in the selected channel.",
|
||||
"enabledLabel": "Tickets module enabled",
|
||||
"mode": "Ticket mode",
|
||||
"modes": {
|
||||
"CHANNEL": "Private channel",
|
||||
"THREAD": "Private thread"
|
||||
},
|
||||
"categoryId": "Ticket category ID",
|
||||
"panelChannelId": "Panel channel",
|
||||
"panelChannelHint": "Channel where the ticket panel with category buttons is posted.",
|
||||
"categoryId": "Discord category for ticket channels",
|
||||
"logChannelId": "Log channel",
|
||||
"inactivityHours": "Auto-close after inactivity (hours)",
|
||||
"transcriptDm": "DM transcript to ticket creator",
|
||||
"transcriptDmHint": "Sends a transcript to the user via DM once their ticket is closed.",
|
||||
"ratingEnabled": "Ask for a rating after closing",
|
||||
"categoriesTitle": "Ticket categories",
|
||||
"categoriesDescription": "Categories members can choose from when opening a ticket.",
|
||||
"categoriesDescription": "Categories members can choose from when opening a ticket. Changes update an existing panel.",
|
||||
"categoriesEmpty": "No ticket categories configured yet.",
|
||||
"categoryName": "Name",
|
||||
"categoryEmoji": "Emoji",
|
||||
"categoryDescription": "Description",
|
||||
"supportRoleIds": "Support role IDs",
|
||||
"supportRoleIds": "Support roles",
|
||||
"idsPlaceholder": "One or more IDs, comma-separated",
|
||||
"addCategory": "Add category",
|
||||
"nameRequired": "A name is required."
|
||||
"nameRequired": "A name is required.",
|
||||
"errors": {
|
||||
"panelTimeout": "The bot did not confirm the ticket panel in time. It may still be posting — check the channel and bot permissions, then save again.",
|
||||
"panelNotPosted": "The ticket panel could not be created in the Discord channel. Check bot permissions (View Channel, Send Messages, Embed Links).",
|
||||
"noCategories": "Create at least one ticket category before the panel can be posted."
|
||||
}
|
||||
},
|
||||
"giveaways": {
|
||||
"formIncomplete": "Please fill in the channel, prize and end date.",
|
||||
|
||||
Reference in New Issue
Block a user