Ticket System
Set up and customize support tickets with panels, topics, and staff management through the dashboard
Overview
The ticket system lets server members create private support channels to communicate with staff. All configuration is done through Left sidebar > Ticket System on the dashboard. Features include customizable creation panels, ticket topics for categorization, staff role management, ticket claiming, anonymous mode, rules agreement, and log channels for tracking activity.
Enabling and Basic Setup
Navigate to Left sidebar > Ticket System on your server dashboard. Toggle the enabled switch to activate the module. You must configure these required settings before tickets will work:
creationChannelId (channel picker): Select the channel where the ticket creation panel embed will be posted. Members click the button on this panel to open a ticket.
categoryId (channel picker): Select the Discord category where new ticket channels are created. The bot will create private channels inside this category.
staffRoleId (role picker): Select the role that grants access to view and manage all tickets. Members with this role can see every open ticket.
type (select dropdown): Choose between Standard mode where the ticket creator's name is visible, or Anonymous mode where the creator's identity is hidden from other members.
creationChannelId (channel picker): Select the channel where the ticket creation panel embed will be posted. Members click the button on this panel to open a ticket.
categoryId (channel picker): Select the Discord category where new ticket channels are created. The bot will create private channels inside this category.
staffRoleId (role picker): Select the role that grants access to view and manage all tickets. Members with this role can see every open ticket.
type (select dropdown): Choose between Standard mode where the ticket creator's name is visible, or Anonymous mode where the creator's identity is hidden from other members.
Panel Customization
Customize how the ticket creation embed and buttons look in the creation channel:
panelTitle (text input, max 120 characters, default "Support Tickets"): The title displayed at the top of the embed.
panelTitleEmoji (emoji picker): An emoji displayed before the title text.
panelDescription (text input, max 1800 characters): The description text in the embed explaining how to create a ticket.
buttonEmoji (emoji picker): The emoji shown on the create ticket button.
ticketBtnCreate (text input, max 80 characters, default "Create Ticket"): The label on the create button.
ticketBtnCreateColor (select: primary, secondary, success, danger): The color of the create button.
ticketBtnClose (text, max 80 characters, default "Close Ticket"): The label on the close button shown inside tickets.
ticketBtnCloseColor (select): Close button color.
ticketBtnClaim (text, max 80 characters): The label on the claim button for staff.
ticketBtnClaimColor (select): Claim button color.
ticketBtnRules (text, max 80 characters): Rules button label.
ticketBtnRulesColor (select): Rules button color.
panelTitle (text input, max 120 characters, default "Support Tickets"): The title displayed at the top of the embed.
panelTitleEmoji (emoji picker): An emoji displayed before the title text.
panelDescription (text input, max 1800 characters): The description text in the embed explaining how to create a ticket.
buttonEmoji (emoji picker): The emoji shown on the create ticket button.
ticketBtnCreate (text input, max 80 characters, default "Create Ticket"): The label on the create button.
ticketBtnCreateColor (select: primary, secondary, success, danger): The color of the create button.
ticketBtnClose (text, max 80 characters, default "Close Ticket"): The label on the close button shown inside tickets.
ticketBtnCloseColor (select): Close button color.
ticketBtnClaim (text, max 80 characters): The label on the claim button for staff.
ticketBtnClaimColor (select): Claim button color.
ticketBtnRules (text, max 80 characters): Rules button label.
ticketBtnRulesColor (select): Rules button color.
Ticket Topics
Enable topicsEnabled (toggle) to let members choose a support category when creating a ticket. Topics appear as a selection menu before the ticket channel is created.
Each topic has these fields:
name (text, max 80 characters): The topic name displayed in the selection menu.
description (text, max 100 characters): A short description explaining what this topic is for.
emoji (emoji picker, default ticket emoji): An icon shown next to the topic name.
staffRoleId (role picker, optional): A dedicated staff role for this topic. When set, only members with this specific role can see tickets created under this topic, allowing you to route different issue types to different teams.
You can add multiple topics. Each topic gets an auto-generated unique ID. Use the dashboard to add, edit, or remove topics.
Each topic has these fields:
name (text, max 80 characters): The topic name displayed in the selection menu.
description (text, max 100 characters): A short description explaining what this topic is for.
emoji (emoji picker, default ticket emoji): An icon shown next to the topic name.
staffRoleId (role picker, optional): A dedicated staff role for this topic. When set, only members with this specific role can see tickets created under this topic, allowing you to route different issue types to different teams.
You can add multiple topics. Each topic gets an auto-generated unique ID. Use the dashboard to add, edit, or remove topics.
Staff and Claim System
Configure how staff members interact with tickets:
staffRoleId (role picker): The main staff role. Members with this role can see and respond to all tickets regardless of topic.
staffDmNotification (toggle): When enabled, the bot sends a DM to online staff members when a new ticket is created.
staffAvailabilityEnabled (toggle): Enable tracking of staff online status to show members whether support is currently available.
staffAvailabilityStatuses (multi-select: online, idle, dnd, offline): Choose which Discord presence statuses count as available.
Staff members can claim tickets by clicking the claim button inside a ticket channel. Claiming assigns the ticket to that staff member and tracks response metrics. The /claim-leaderboard command shows the top staff by tickets claimed with response rate statistics.
staffRoleId (role picker): The main staff role. Members with this role can see and respond to all tickets regardless of topic.
staffDmNotification (toggle): When enabled, the bot sends a DM to online staff members when a new ticket is created.
staffAvailabilityEnabled (toggle): Enable tracking of staff online status to show members whether support is currently available.
staffAvailabilityStatuses (multi-select: online, idle, dnd, offline): Choose which Discord presence statuses count as available.
Staff members can claim tickets by clicking the claim button inside a ticket channel. Claiming assigns the ticket to that staff member and tracks response metrics. The /claim-leaderboard command shows the top staff by tickets claimed with response rate statistics.
Ticket Rules
Optionally require members to accept rules before creating a ticket:
rulesEnabled (toggle): Show a rules agreement step in the ticket creation flow.
rulesTitle (text input, max 256 characters): The title of the rules embed.
rulesText (text area, max 4096 characters): The full rules content displayed to the member.
rulesFooter (text input, max 2048 characters): Footer text displayed below the rules.
rulesCheckboxEnabled (toggle): When enabled, members must check a confirmation checkbox stating they have read and agree to the rules before proceeding.
rulesEnabled (toggle): Show a rules agreement step in the ticket creation flow.
rulesTitle (text input, max 256 characters): The title of the rules embed.
rulesText (text area, max 4096 characters): The full rules content displayed to the member.
rulesFooter (text input, max 2048 characters): Footer text displayed below the rules.
rulesCheckboxEnabled (toggle): When enabled, members must check a confirmation checkbox stating they have read and agree to the rules before proceeding.
Ticket Behavior Settings
Additional options that control how tickets behave:
namingFormat (text input): The format used for ticket channel names.
reasonRequired (toggle): Members must provide a reason when creating a ticket.
fileUploadEnabled (toggle): Allow file attachments in ticket channels.
closeReasonRequired (toggle): Whoever closes the ticket must provide a reason.
userCanClose (toggle): Allow the original ticket creator to close their own ticket.
namingFormat (text input): The format used for ticket channel names.
reasonRequired (toggle): Members must provide a reason when creating a ticket.
fileUploadEnabled (toggle): Allow file attachments in ticket channels.
closeReasonRequired (toggle): Whoever closes the ticket must provide a reason.
userCanClose (toggle): Allow the original ticket creator to close their own ticket.
Closed Tickets Category
closedCategoryId (channel picker): Select a Discord category where closed ticket channels are moved instead of being deleted. This preserves the conversation history for review. Using a closed category is recommended for accountability and record-keeping.
Log Channel
logChannelId (channel picker): Select a channel to receive ticket event logs. The bot posts notifications for ticket events including new ticket created, ticket closed, ticket claimed by staff, and staff activity. This provides a complete audit trail of all ticket operations.
Tips
Create separate topics for different support needs such as billing, technical help, and general questions. Assign dedicated staff roles per topic so the right team handles the right issues. Enable rulesEnabled and rulesCheckboxEnabled to reduce spam tickets. Use the staff DM notification feature during low-traffic hours so tickets do not go unnoticed. Monitor the claim leaderboard to track staff performance.