Skip to content

Ticket System

The ticket system gives your members a simple way to reach staff in private. You build a panel (a message with one or more buttons, or a dropdown), and when a member clicks it the bot opens a private ticket just for them and your support team. Staff handle it, then close it - and the bot saves a full transcript.

TierFree
Command/ticket
Who can useEveryone opens tickets, Staff handle them
Set up onDashboard only

You post a panel in a channel (for example #support). The panel can offer one ticket type or several - “General Support”, “Report a Player”, “Recruitment”, whatever you need. Members either click a button or pick from a dropdown, depending on how you set the panel up.

Each ticket type can be a:

  • Private channel - a brand new channel only the opener and your staff roles can see. Best for longer conversations and full privacy.
  • Private thread - a private thread inside the panel’s channel. Lighter and tidier, and it does not count toward your server’s channel limit.

If a ticket type has a form, the member fills in a popup before the ticket opens, and their answers are posted at the top of the ticket. Each question can be a short answer, a paragraph, or an image upload (the uploaded image is attached to the new ticket).

When a ticket opens, the bot posts a welcome message that pings the opener (and any roles you chose), shows your welcome text, and includes a Close button. If you turned on claiming, there is also a Claim button so a staff member can mark the ticket as theirs.

Staff manage the ticket with the /ticket commands below. When it is closed, the bot writes an HTML transcript of the whole conversation and posts it to your log channel (and can DM it to the opener). For channel tickets, a closed ticket is locked and given Reopen and Delete buttons for staff; thread tickets are archived and locked.

Everything is set up on the Tickets tab at dashboard.codexhelper.com - there are no setup commands in Discord. On the tab you can:

  • Settings - choose the transcript log channel, whether to ask for confirmation before a ticket closes, and whether to DM the transcript to the opener.
  • Panels - create a panel, pick its channel, choose buttons or a dropdown, write the panel’s title and description, and add ticket types.
  • Ticket types - for each type set its label and emoji, the category new channels go under, the channel naming pattern, the support roles, who gets pinged, the welcome message, an optional pre-open form, a per-user open limit, an auto-close timer, and whether staff can claim it.
  • Blocked users - stop specific members from opening tickets.

After you save, the bot posts or updates the panel within about a minute.

All /ticket commands are run inside a ticket. They are actions only - there are no setup commands in Discord.

Close the current ticket. The bot saves a transcript and locks the ticket. If close confirmation is on, you confirm first.

OptionTypeRequiredDescription
reasontextNoAn optional reason, saved to the transcript log

The ticket opener or staff can close a ticket.

Add another member to the current ticket so they can see and reply.

OptionTypeRequiredDescription
usermemberYesThe member to add

Remove a member from the current ticket. Staff only. You cannot remove the opener.

OptionTypeRequiredDescription
usermemberYesThe member to remove

Rename the current ticket.

OptionTypeRequiredDescription
nametextYesThe new name

Staff claim a ticket to show they are handling it, or release it again. Only available when claiming is turned on for that ticket type.

Each ticket type can auto-close after a set number of hours with no activity. The bot checks regularly and closes anything that has gone quiet past its limit, saving a transcript just like a manual close. Set the hours to 0 to turn it off.

Each ticket type has a naming pattern for its channel or thread. Use these placeholders:

  • {type} - the ticket type’s label
  • {username} - the opener’s name
  • {number} - the ticket’s number

For example ticket-{number} makes ticket-42, and {type}-{username} makes support-alice.

  • A server can have up to 25 ticket panels, and each panel up to 25 ticket types.
  • A pre-open form can have up to 5 questions (short answer, paragraph, or image upload).
  • For channel tickets the bot needs Manage Channels; for thread tickets it needs Create Private Threads. It also needs to post in the panel’s channel.
  • Transcripts are sent as a file in Discord - nothing is stored outside your server’s log channel (and the opener’s DMs, if you turn that on).
  • For thread tickets, staff see tickets through the Manage Threads permission or by being added; channel tickets use your support roles directly, so channel mode gives the cleanest role-based access.