Ticket System
The ticket system provides comprehensive support functionality including multiple ticket types, priority levels, working hours, claiming system, automatic alerts, transcripts, and detailed logging.
Overview
The ticket system is a complete support solution, offering:
Multiple ticket types
Role-based priorities
Working hours
Claiming & auto-alerts
Transcripts, closure messages & reviews
Detailed logging
Core Settings
General Setup
TicketSettings:
Enabled: false
LogsChannelID: "CHANNEL_ID"
MaxTickets: 1
DeletionTime: "3s"
useSelectMenu: true
overFlow: ["CATEGORY_ID", "CATEGORY_ID"]
Enabled β Master switch
LogsChannelID β Channel where all ticket events are logged (open, close, claim)
MaxTickets β Limit how many tickets a single user can have at once
DeletionTime β Delay before a ticket is fully deleted after closure
useSelectMenu β
true
= dropdown menus,false
= buttonsoverFlow β Backup categories if the main one reaches 50 channels
Delayed Response System
Warns users when many tickets are open.
DelayedResponse:
Enabled: false
TicketThreshold: 25
Embed:
Title: ""
Description:
- "# π« High Support Volume Notice"
- "β οΈ We are currently experiencing higher than usual ticket volume."
- "## Current Status"
- "> π **Active Tickets:** {openTickets}"
- "> β±οΈ **Est. Response Time:** 24-48 hours"
TicketThreshold β When this many open tickets exist, the warning is shown
Embed β Fully customizable (placeholders like
{openTickets}
work)
Close Reasons
CloseReasons:
Enabled: true
DefaultReason: "No reason provided"
Reasons:
- name: "Issue Resolved"
emoji: "β
"
value: "resolved"
- name: "User Request"
emoji: "π"
value: "user_request"
Adds preset closure reasons staff can pick
AllowCustomReason β lets staff write their own
Priority System
Priority:
Enabled: true
DefaultPriority: "Low"
Levels:
High:
Roles: ["ROLE_ID"]
Tag: ["ROLE_ID"]
MoveTop: true
Levels β Low / Medium / High (add more if needed)
Roles β Who gets assigned this priority
Tag β Roles to ping when tickets open
MoveTop β Moves priority tickets to the top of the category
Working Hours
WorkingHours:
Enabled: false
Timezone: Europe/London
NonWorkingDays: ["Saturday", "Sunday"]
Schedule:
Monday: "16:00-22:00"
allowOpenTickets: true
Timezone β Must be IANA format (e.g.
America/New_York
)Schedule β Define start/end times
allowOpenTickets β Allow tickets outside hours? If yes, a warning embed (
WorkingEmbed
) is shown.
Ticket Panels
Panels are what users see when opening tickets.
TicketPanelSettings:
Panel1:
Embed:
Title: "π© Support Tickets"
Description:
- "Please select a category below for assistance."
You can create multiple (
Panel1
,Panel2
...)Each panel controls how ticket buttons/menus look
Ticket Creation Templates
TicketCreation:
Default:
Embed:
Title: "π« New Support Ticket"
Description:
- "Welcome {user}!"
- "**Ticket Type:** {ticketType}"
- "**Claimed By:** {claimer}"
- "{questions}"
Defines the first message inside the ticket
Supports placeholders like
{user}
,{ticketType}
,{claimer}
,{questions}
You can also make ticket-type-specific templates (
TicketType1
,TicketType2
)
Ticket Types
Each type is its own config block.
TicketTypes:
TicketType1:
Enabled: true
Panel: "Panel1"
Name: "General Support"
ChannelName: "{ticket-id}-General-{user}-{priority}"
CategoryID: "CATEGORY_ID"
SupportRole: ["ROLE_ID"]
Claiming:
Enabled: false
Button:
Name: "General Support"
Emoji: "π"
Style: "Danger"
Description: "Open to receive general support"
Panel β Which panel it belongs to
ChannelName β Use placeholders like
{ticket-id}
,{user}
,{priority}
SupportRole β Who can access tickets
Claiming β Restrict tickets to one staff member
Button β Text, emoji, color, description
Alerts
Alert:
Enabled: true
Time: "12h"
DM:
Enabled: true
Embed:
Title: "β οΈ Ticket Alert"
Description:
- "Hello {user}"
- "> **Time Until Close:** {time}"
Footer:
Text: "Drako Development | Ticket System"
Icon: "https://i.imgur.com/w5XxKpc.png"
Author:
Text: "Ticket Alert System"
Icon: "https://i.imgur.com/w5XxKpc.png"
Color: "#FF0000"
Image: ""
Thumbnail: ""
Button:
Label: "Go to Ticket"
Emoji: "π«"
Reminds users before closure
Can send via DM (with fallback log if DM fails)
Also posts a warning inside the ticket
Ticket Closure DM
TicketClosureDM:
Enabled: true
Transcript: true
Embed:
Title: "Ticket Closure Notification"
Description:
- "{userTag}, your ticket in {guild} has been closed."
- " "
- "**Ticket Summary**"
- "> **Messages:** {messageCount}"
- "> **Priority:** {priority}"
- "> **Handled By:** {claimer}"
- "> **Close Reason:** {reason}"
- " "
- "We value your feedback! Please leave us a review below."
Footer:
Text: "Drako Development | Ticket System"
Icon: "https://i.imgur.com/w5XxKpc.png"
Author:
Text: "Drako Support"
Icon: "https://i.imgur.com/w5XxKpc.png"
Color: "#1769FF"
Image: "https://images-ext-1.discordapp.net/external/OllWGq5ta58LX6KoA8yEVTMrI9L4BJ0iE_T0pE4TZvw/https/i.imgur.com/LbjDuZ8.png?format=webp&quality=lossless&width=1618&height=403"
Thumbnail: "https://i.imgur.com/w5XxKpc.png"
Sends users a DM when their ticket closes
Includes summary and optional transcript
Reviews
The review system lets users rate their support experience after a ticket is closed. Theyβll get a DM with a Leave a Review button, which opens a simple modal where they can rate different aspects of the support they received.
Hereβs what the config looks like:
Reviews:
Enabled: false
Placeholder: "Rate us!"
ButtonEmoji: "β"
ButtonStyle: "Secondary" # Primary, Secondary, Success, Danger
# Multiple rating questions that will appear as select dropdowns in the modal
Questions:
1:
ID: "support_quality"
Label: "Support Quality (1-5)"
Description: "Rate the quality of support you received"
Required: true
Options:
- Label: "Very Poor"
Value: "1"
Emoji: "π"
- Label: "Poor"
Value: "2"
Emoji: "π"
- Label: "Average"
Value: "3"
Emoji: "π"
- Label: "Good"
Value: "4"
Emoji: "π"
- Label: "Excellent"
Value: "5"
Emoji: "π"
2:
ID: "response_time"
Label: "Response Time (1-5)"
Description: "Rate how quickly we responded to your ticket"
Required: true
Options:
- Label: "Very Slow"
Value: "1"
Emoji: "π"
- Label: "Slow"
Value: "2"
Emoji: "β³"
- Label: "Average"
Value: "3"
Emoji: "β°"
- Label: "Fast"
Value: "4"
Emoji: "β‘"
- Label: "Very Fast"
Value: "5"
Emoji: "π"
# Optional feedback text input
FeedbackInput:
Enabled: true # Should the bot ask the user why for the review they gave?
Label: "Additional Feedback"
Placeholder: "Please share any additional thoughts or suggestions..."
Style: "Paragraph" # Short, Paragraph
Required: false
MaxLength: 1000
Button Settings
Placeholder β The button text in closure DMs
ButtonEmoji β Emoji shown on the button
ButtonStyle β Button color (Primary=blue, Secondary=gray, etc.)
Questions
You can add up to 4 questions (Discordβs modal limit).
Each question has:
ID β Unique name (used in logs/database)
Label β The question text
Description β Helper text shown under the label
Options β The ratings (with label, value, emoji)
Feedback Input
Optional text box where users can write suggestions or comments.
Choose Short (single line) or Paragraph (multi-line).
How it Works
User closes a ticket β receives a DM with the Leave a Review button.
Clicking opens a modal with rating questions (and optional feedback).
Ratings + comments are saved.
Review data is added to ticket logs, so you can track quality and performance.
Common Issues
Tickets not created β Check
Enabled: true
, validCategoryID
, andMaxTickets
.Support roles canβt see tickets β Bot role must be above support roles in hierarchy.
Working hours not working β Check timezone and 24h format.
Last updated