Support ticket system with multi-panel functionality
Add a user to your ticket
- Usage:
[p]add <user>
- Slash Usage:
/add <user>
- Checks:
server_only
Rename your ticket channel
- Usage:
[p]renameticket <new_name>
- Slash Usage:
/renameticket <new_name>
- Checks:
server_only
Close your ticket
Examples
[p]close
- closes ticket with no reason attached
[p]close thanks for helping!
- closes with reason "thanks for helping!"
[p]close 1h
- closes in 1 hour with no reason attached
[p]close 1m thanks for helping!
- closes in 1 minute with reason "thanks for helping!"
- Usage:
[p]close [reason]
- Slash Usage:
/close [reason]
- Checks:
server_only
Base support ticket settings
- Usage:
[p]tickets
- Restricted to:
ADMIN
- Aliases:
tset
- Checks:
server_only
Add/Remove roles for a specific panel
To remove a role, simply run this command with it again to remove it
Optional: include true
for mention to have that role mentioned when a ticket is opened
These roles are a specialized subset of the main support roles.
Use this role type if you want to isolate specific groups to a certain panel.
- Usage:
[p]tickets panelrole <panel_name> <role> [mention=False]
Toggle whether channels are mentioned in the active ticket overview
- Usage:
[p]tickets overviewmention
(Toggle) Ticket transcripts
Closed tickets will have their transcripts uploaded to the log channel
- Usage:
[p]tickets transcript
Set the default ticket channel name for a panel
You can include the following in the name
{num}
- Ticket number
{user}
- user's name
{displayname}
- user's display name
{id}
- user's ID
{shortdate}
- mm-dd
{longdate}
- mm-dd-yyyy
{time}
- hh-mm AM/PM according to bot host system time
You can set this to {default} to use default "Ticket-Username
- Usage:
[p]tickets ticketname <panel_name> <ticket_name>
View/Delete currently configured support ticket panels
- Usage:
[p]tickets panels
Suspend the ticket system
If a suspension message is set, any user that tries to open a ticket will receive this message
- Usage:
[p]tickets suspend [message]
Set the row of a panel's button (0 - 4)
- Usage:
[p]tickets row <panel_name> <row>
Set the button text for a support ticket panel
- Usage:
[p]tickets buttontext <panel_name> <button_text>
Add a modal field a ticket panel
Ticket panels can have up to 5 fields per modal for the user to fill out before opening a ticket.
If modal fields are added and have required fields,
the user will have to fill them out before they can open a ticket.
There is no toggle for modals, if a panel has them it will use them, if they don't then it just opens the ticket
When the ticket is opened, it sends the modal field responses in an embed below the ticket message
Note
field_name
is just the name of the field stored in config,
it won't be shown in the modal and should not have spaces in it
Specify an existing field name to delete a modal field (non-case-sensitive)
- Usage:
[p]tickets addmodal <panel_name> <field_name>
Set how many staff members can claim/join a ticket before the join button is disabled (If using threads)
- Usage:
[p]tickets maxclaims <panel_name> <amount>
(Toggle) If users can rename their own tickets
- Usage:
[p]tickets selfrename
Add a support ticket panel
- Usage:
[p]tickets addpanel <panel_name>
View support ticket settings
- Usage:
[p]tickets view
Cleanup tickets that no longer exist
- Usage:
[p]tickets cleanup
Create an embed for ticket panel buttons to be added to
- Usage:
[p]tickets embed <color> <channel> <title> <description>
Toggle whether a certain panel uses threads or channels
- Usage:
[p]tickets usethreads <panel_name>
Add/Remove users or roles from the blacklist
Users and roles in the blacklist will not be able to create a ticket
- Usage:
[p]tickets blacklist <user_or_role>
Set the button color for a support ticket panel
- Usage:
[p]tickets buttoncolor <panel_name> <button_color>
(Toggle) If users can close their own tickets
- Usage:
[p]tickets selfclose
(Toggle) Interactive transcripts
Transcripts will be an interactive html file to visualize the conversation from your browser.
- Usage:
[p]tickets interactivetranscript
- Aliases:
intertrans, itrans, and itranscript
View/Delete a ticket message for a support ticket panel
- Usage:
[p]tickets viewmodal <panel_name>
Add/Remove roles required to open a ticket for a specific panel
Specify the same role to remove it
- Usage:
[p]tickets openrole <panel_name> <role>
Throw a modal when the close button is clicked to enter a reason
- Usage:
[p]tickets closemodal <panel_name>
Refetch the transcript link for a ticket
- Usage:
[p]tickets getlink <message>
Set the category ID for a ticket panel
- Usage:
[p]tickets category <panel_name> <category>
Set the max tickets a user can have open at one time of any kind
- Usage:
[p]tickets maxtickets <amount>
Update a message with another message (Target gets updated using the source)
- Usage:
[p]tickets updatemessage <source> <target>
Set the button emoji for a support ticket panel
- Usage:
[p]tickets buttonemoji <panel_name> <emoji>
Auto-close ticket if opener doesn't say anything after X hours of opening
Set to 0 to disable this
If using thread tickets, this translates to the thread's "Hide after inactivity" setting.
Your options are:
- 1 hour
- 24 hours (1 day)
- 72 hours (3 days)
- 168 hours (1 week)
Tickets will default to the closest value you select. - Usage:
[p]tickets noresponse <hours>
(Toggle) If users can manage their own tickets
Users will be able to add/remove others to their support ticket
- Usage:
[p]tickets selfmanage
Add a message embed to be sent when a ticket is opened
You can include any of these in the embed to be replaced by their value when the message is sent
{username}
- Person's Discord username
{mention}
- This will mention the user
{id}
- This is the ID of the user that created the ticket
The bot will walk you through a few steps to set up the embed
- Usage:
[p]tickets addmessage <panel_name>
Set an alternate channel that tickets will be opened under for a panel
If the panel uses threads, this needs to be a normal text channel.
If the panel uses channels, this needs to be a category.
If the panel is a channel type and a channel is used, the bot will use the category associated with the channel.
To remove the alt channel, specify the existing one
- Usage:
[p]tickets altchannel <panel_name> <channel>
Set the logging channel for each panel's tickets
- Usage:
[p]tickets logchannel <panel_name> <channel>
Set the channel ID where a ticket panel is located
- Usage:
[p]tickets channel <panel_name> <channel>
Add/Remove ticket support roles (one at a time)
Optional: include true
for mention to have that role mentioned when a ticket is opened
To remove a role, simply run this command with it again to remove it
- Usage:
[p]tickets supportrole <role> [mention=False]
(Toggle) The bot sending DM's for ticket alerts
- Usage:
[p]tickets dm
Toggle a panel on/off
Disabled panels will still show the button but it will be disabled
- Usage:
[p]tickets toggle <panel_name>
Set a channel for the live overview message
The overview message shows all active tickets across all configured panels for a server.
- Usage:
[p]tickets overview [channel]
(Toggle) Auto-add support and panel roles to thread tickets
Adding a user to a thread pings them, so this is off by default
- Usage:
[p]tickets autoadd
View/Delete a ticket message for a support ticket panel
- Usage:
[p]tickets viewmessages <panel_name>
Ticket Setup Guide
- Usage:
[p]tickets setuphelp
Set the priority order of a panel's button
- Usage:
[p]tickets priority <panel_name> <priority>
Set the message ID of a ticket panel
Run this command in the same channel as the ticket panel message
- Usage:
[p]tickets panelmessage <panel_name> <message>
Set a title for a ticket panel's modal
- Usage:
[p]tickets modaltitle <panel_name> [title]
(Toggle) Thread tickets being closed & archived instead of deleted
- Usage:
[p]tickets threadclose
Open a ticket for another user
- Usage:
[p]openfor <user> <panel_name>
- Slash Usage:
/openfor <user> <panel_name>
- Restricted to:
MOD