1
Create a category channel and a panel channel
Make a Discord channel category (e.g. “Tickets”) where ticket channels will be created, and a text channel (e.g.
#support) where the panel message will live.2
Post the panel
panel_id, you’ll need it for every category you attach.3
Add your first category
key (support here) is how you’ll refer to this category in every other command, parent is the channel category new ticket channels get created under.4
Add a second category
button-style panel supports up to 5 categories, switch style to select when you create the panel if you need more (up to 25, as a dropdown instead of buttons).5
Add extra roles, if one isn't enough
support-role controls who can see/manage the category’s tickets, ping-role controls who gets pinged when one opens, they don’t have to match.6
Set a naming pattern (optional)
{number} and {username}, defaults to ticket-{number}.7
Try it yourself
Click your own panel. Once inside,
!ticket claim to take ownership, !ticket close "Testing" to close it and generate a transcript link.Using a saved embed for the panel or welcome message
Instead of plaintitle/description, both !ticket panel create and !ticket category add accept an embed_template name, see Embeds for how to build one first.
Common mistakes
"Category key already in use"
"Category key already in use"
key must be unique per server, not just per panel. Pick something specific like billing-eu instead of reusing billing across two panels.A member can't open a second ticket
A member can't open a second ticket
That’s
max_open, defaults to 1 per category. Raise it with !ticket category edit if your server wants members to have multiple tickets open at once.