Tickets
Private support channels opened from a panel, with saved transcripts.
Tickets let a member open a private channel to talk to your staff, similar to any ticket tool bot.
How a ticket works
- A panel is created: a message with buttons, posted in a channel.
- Options are added to the panel. Each option is a ticket type, such as "Support" or "Report a member", with its own support roles and its own category.
- A member selects an option. If questions have been configured, they are asked first in a pop-up form.
- TalciGrade creates a private channel visible to that member, the type's support roles, and your default support roles. In thread mode it is a private thread instead, in the channel the panel is in.
- Staff respond, and someone selects Close when the matter is resolved.
Ticket numbers count up separately for each type, so the first "Support" ticket and the first "Report a member" ticket are both number 1.
What happens on close
Closing a ticket does not delete anything by itself. The channel remains with Save transcript, Reopen and Delete controls, so a ticket closed too early can be reopened.
Two settings automate this, and both are off by default:
| Setting | Effect when enabled |
|---|---|
| Save the transcript automatically | The transcript is saved as soon as the ticket is closed |
| Delete the channel automatically | The channel is removed once the ticket is closed |
Enabling both reproduces the behaviour of a ticket bot that closes and clears in one step. Leaving both off keeps every closed ticket available until staff deal with it.
Transcripts
A transcript is built by reading the conversation back out of the channel when it is saved.
Content Discord could not provide later is recorded as it happens: the previous text of edited messages, and messages that were deleted. A transcript therefore reflects what was said, including content a member attempted to remove.
Each transcript can be opened in a browser through a link, so it can be shared with someone who does not have Dashboard access. Links expire after a configurable period, and opening an expired one offers staff a button to create a fresh link.
The opener can also be sent their transcript by direct message automatically.
Commands for staff
Staff are members with a support role for the ticket's type, or anyone granted Ticket staff in Permissions.
Inside a ticket:
| Command | What it does |
|---|---|
/ticket close [reason] |
Closes the ticket. The member who opened it can use this too |
/ticket add <member>, /ticket remove <member> |
Lets someone into the ticket, or takes them out |
/ticket rename <name> |
Renames the channel |
/ticket move <type> [reason] |
Moves the ticket to another ticket type |
/ticket transcript |
A transcript of the conversation so far |
/ticket save, /ticket delete, /ticket reopen |
The same as the buttons on a closed ticket |
Anywhere in the server:
| Command | What it does |
|---|---|
/ticket list [user] [status] |
Lists tickets, by member, type or state |
/ticket broadcast <message> |
Posts a message in every open ticket. [user] in the message becomes each ticket's opener. Needs Ticket staff: a support role is not enough |
/ticket ban add <member> <reason> [duration] [category] |
Stops a member opening tickets, for a time or for good, for every type or one |
/ticket ban remove <member>, /ticket ban info <member> |
Lifts a ban, or shows it and the member's history |
/ticket response use, list, add, edit, remove |
Saved replies staff can post in a ticket |
Moving a ticket to another type
When a ticket was opened under the wrong type, /ticket move files it under the right one rather than closing it:
- It takes the next number in its new type.
- The channel is renamed and moved into the new type's category.
- The new type's support roles are added, and the old type's are removed. The member who opened it, and anyone added by hand, keep their access.
- The move is shown in the transcript at the point it happened.
Ticket bans
A banned member cannot open tickets. When they try, they are told what the ban covers, why, and when it ends. A ban can cover every ticket type or only one, and can last for a set time, written as 7d, 24h or 1h30m, or until it is lifted.
Other settings
| Setting | What it controls |
|---|---|
| Tickets as channels or threads | Where a ticket is created. A thread ticket opens in the channel the panel is in, which has to be an ordinary text channel. Staff are added by the mention of their support role |
| Category | The category a ticket type uses when it has none of its own |
| Transcript channel | Where saved transcripts are posted |
| Support roles | Staff who can see and handle every ticket |
| Open ticket limit | How many tickets one member may have open. Each ticket type can also have its own limit, and both apply |
| Channel naming | The name pattern for new ticket channels |
| Idle auto-close | Closes a ticket after a period with no messages |
| Canned responses | Saved replies staff can insert |
Setting it up
Open Tickets > Settings on the Dashboard for everything above, Tickets > Panels to build the panel members open tickets from, and Tickets > Ticket list to see every ticket and open its transcript.