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.
| Tier | Free |
| Command | /ticket |
| Who can use | Everyone opens tickets, Staff handle them |
| Set up on | Dashboard only |
How members open a ticket
Section titled “How members open a ticket”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).
What happens inside a ticket
Section titled “What happens inside a 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.
Setting it up
Section titled “Setting it up”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.
Commands
Section titled “Commands”All /ticket commands are run inside a ticket. They are actions only - there are no setup commands in Discord.
/ticket close
Section titled “/ticket close”Close the current ticket. The bot saves a transcript and locks the ticket. If close confirmation is on, you confirm first.
| Option | Type | Required | Description |
|---|---|---|---|
reason | text | No | An optional reason, saved to the transcript log |
The ticket opener or staff can close a ticket.
/ticket add
Section titled “/ticket add”Add another member to the current ticket so they can see and reply.
| Option | Type | Required | Description |
|---|---|---|---|
user | member | Yes | The member to add |
/ticket remove
Section titled “/ticket remove”Remove a member from the current ticket. Staff only. You cannot remove the opener.
| Option | Type | Required | Description |
|---|---|---|---|
user | member | Yes | The member to remove |
/ticket rename
Section titled “/ticket rename”Rename the current ticket.
| Option | Type | Required | Description |
|---|---|---|---|
name | text | Yes | The new name |
/ticket claim and /ticket unclaim
Section titled “/ticket claim and /ticket unclaim”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.
Auto-close
Section titled “Auto-close”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.
Naming your tickets
Section titled “Naming your tickets”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.
Limits and notes
Section titled “Limits and notes”- 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.