Tickets
Panels, forms, claiming, freezing, transcripts, opening hours and the rename budget.
A ticket panel is a message with a button or a menu. Using it opens a private channel between the member and your staff. Everything else — who sees the ticket, what it is called, how it is claimed, closed and archived — is configuration on that panel.
Before you start
- Turn the Tickets addon on with
/enable addon:tickets(needs Administrator). Ticket commands refuse until it is on. - Epix needs Manage Channels to create tickets, Manage Roles to set their permissions, and Attach Files wherever transcripts go.
/ticketpaneland/ticketblacklistneed Manage Server.
Setting up a panel
- 01Create the panel
/ticketpanel create. Make one per team or topic: each panel keeps its own settings and ticket numbers. - 02Choose where tickets are created
The category field of
/ticketpanel set. Discord caps a category at 50 channels, so pick a closed category (closed-category) or a deletion habit now rather than later. - 03Choose who can see them
/ticketpanel addroleadds a support role. Support roles get access to every ticket as it opens. Access is applied per channel at that moment, so adding a role later does not grant it access to tickets already open. - 04Send it
/ticketpanel sendposts the panel./ticketpanel settingschanges settings from menus, and the dashboard edits the same panel.
/ticketpanel create name:Support
/ticketpanel set panel:Support field:category value:<category ID>
/ticketpanel addrole panel:Support role:@Support
/ticketpanel send panel:Support channel:#helpButtons, menus and forms
The panel post can only open tickets. Inside a ticket, the welcome message carries Close and Transcript buttons by default and can also carry Claim, Release, Freeze, Unfreeze, Reopen and Delete. The close notice can carry Transcript, Reopen and Delete.
- A message uses buttons or a select menu, never both, up to 25 of either (
/ticketpanel addbutton, addselect). - Any button or option can ask up to five questions first, as a Discord form set up on the dashboard. Questions can be one line or a paragraph, optional, or number-only. The answers are posted in the ticket; on an Open button, under the greeting.
- Every control on a panel opens the same kind of ticket. To send billing and technical questions to different teams, make two panels.
Who can open a ticket
| Setting | Default | What it does |
|---|---|---|
| Max open per member | 1 | Open tickets a member may hold, counted across every panel in the server. |
| Open cooldown | off | Minimum time between two tickets from the same member on this panel. |
| Blacklist | empty | Members and roles that cannot open tickets here (/ticketblacklist). |
| Opening hours | off | Premium. Covered below. |
Claiming
A support member claims a ticket with /ticket claim or a Claim button. By default:
- Claiming is exclusive: the claimer is added to the channel and the support roles are removed from it. Releasing the ticket gives them their access back.
- The claimer has 30 minutes to send a first reply, is warned 5 minutes before the deadline, and the ticket is released automatically if they miss it. Their reply stops the clock.
- A staff member can hold one claimed ticket at a time. Raise max-claim, or set it to 0 for no limit.
/ticket transferhands a claimed ticket to another member who may claim, and restarts the deadline for them.
Freezing
/ticket freeze pauses a ticket that is waiting on something, optionally for a set time such as 2d, up to 7 days by default. Without a time — and a Freeze button never sets one — it stays frozen until /ticket unfreeze.
- A frozen ticket is never auto-released or auto-closed, and its response deadline resumes where it stopped when it thaws.
- It cannot be closed, and by default cannot be claimed, while frozen.
- With freeze-lock on (off by default), the opener and added members can read but not send messages. Staff can still reply. A frozen category (frozen-category) parks frozen tickets out of the way.
Closing, reopening and deleting
- Closing removes the opener's and added members' access but keeps the channel, so staff can still read it, and moves it to the closed category if one is set. The opener may close their own ticket unless you turn that off; confirm-close adds a confirmation step.
- Reopening restores their access to the same channel, keeping the history in one place.
- Deleting removes the channel. It does not make a transcript on its own — take one first, or use the Transcript button on the close notice.
/ticket delete delay:30sposts a notice and waits, up to one minute, before deleting. - Auto-close is off by default. Turned on, it closes a ticket after 3 days without a message and warns a day before. A message from anyone but Epix resets the clock.
Transcripts
A transcript is a file of the conversation, HTML by default or plain text, built from the messages Epix stored as they were sent.
/ticket transcriptposts it where you ran the command. The Transcript button sends it to the transcript channel, or the log channel if there is none.- transcript-auto makes one on every close (off by default). Auto-close makes one unless you turn that off. transcript-dm also sends a copy to the opener.
- A transcript holds up to 1,000 messages by default and 5,000 at most.
- Ticket messages are stored for 90 days on a free server and permanently with Premium. With Premium, a ticket channel deleted outside Epix — by hand or by a nuke — still has its transcript delivered to the transcript or log channel.
Channel names and the rename budget
Tickets are named from templates: ticket-{number} when opened, then claimed-{number}, frozen-{number} and closed-{number}. The number is zero-padded (ticket-0042) and counts per panel. Templates also accept {user}, the opener's username, and {claimer}. Changing them is Premium; /ticket rename renames one ticket by hand on any server.
Opening hours (Premium)
A panel can accept tickets only during set hours. Outside them, the button replies with your closed message instead of opening a channel. The default message says when the panel opens next.
/ticketpanel scheduleadds windows for every day or one weekday, written as 5 PM or 17:00, up to 25 per panel. A window can run past midnight, such as 22:00 to 02:00.- Hours follow the panel's time zone, an IANA name such as Africa/Cairo (UTC by default), so 17:00 stays 17:00 when daylight saving time changes.
- Nothing applies until you run the enable action. If the server loses Premium, the schedule stops applying.
Who can do what
The server owner and anyone with Administrator, Manage Server or Manage Channels can do everything. Otherwise each action falls to the panel's support roles, unless the dashboard gives it its own role list (close, delete, transcript, rename, members, claim, freeze). The opener may close their own ticket (on by default) and delete it (off by default).
Changing message wording with /ticketpanel message is Premium. A free server can restyle the first embed of every message with /ticketpanel embed; more embeds, up to ten, are Premium.
Logs and statistics
Set a log channel (log-channel) and Epix posts a line there for 16 ticket events: opened, closed, auto-closed, deleted, claimed, released, auto-released, transferred, frozen, unfrozen, reopened, transcript generated, priority changed, topic changed, member added and member removed. /ticket stats shows claimed, closed, auto-released and open tickets and the average first response, for the team or one member, over a period such as 30d.
Command reference
| Command | What it does |
|---|---|
/ticket claim, unclaim, transfer | Take, release or hand over the ticket you are in. |
/ticket freeze, unfreeze | Pause and resume a ticket. |
/ticket close, reopen, delete | Close (with an optional reason), reopen, or delete. |
/ticket transcript | Generate a transcript, as HTML or text. |
/ticket rename, topic, priority | Rename the channel, set its topic, or mark it Low, Normal, High or Urgent. |
/ticket add, remove | Give a member access to the ticket, or take it away. |
/ticket list, info, stats | List tickets, inspect one, show statistics. |
/ticketpanel create, send, list, info, delete | Manage panels. |
/ticketpanel set, settings | Change one field, or change settings from menus. |
/ticketpanel addrole, removerole | Manage support roles. |
/ticketpanel addbutton, removebutton, addselect, removeselect | Manage buttons and menu options, by ID. |
/ticketpanel embed, message | Edit a message's embeds; edit its text (Premium). |
/ticketpanel schedule | Opening hours (Premium). |
/ticketblacklist add, remove, list | Block members and roles from a panel. |