In Better Tickets, each kind of support request is a ticket category. A member opens a ticket from a panel, gets a private channel with your staff, and when the ticket is closed the conversation is saved as a signed transcript. A server can run several categories, such as support, reports and appeals, each with its own staff roles, questions and rules.
If you've used Ticket Tool or another ticket bot, the model is the same: categories, staff roles and transcripts. The difference is that every setting lives in the web dashboard rather than in command options. For a side-by-side look, see the Ticket Tool alternative comparison. New to ticket systems in general? Start with how to set up a ticket system on Discord.
Create and edit a ticket category
The dashboard calls each category a ticket panel. Open Tickets → Ticket panels, create one, and choose its staff and destinations in Basics. The other settings are grouped into tiles for questions, messages, buttons, permissions and automation.
Create it
Open Tickets → Ticket panels and click New ticket panel. Give it a unique name. The name can't be changed later; to rename, delete it and create a new one.
Configure it
Click Edit. The Basics section groups the button label, staff roles, ticket destination and transcript channel. Add opening questions next; the other tiles hold the detailed options. Save changes. Full field list: Ticket settings.
Send the panel
Click Publish panel. Choose a text channel members can access. You can publish the same panel in several channels. You can also post it from Discord with /ticket send.
A category without a staff role or an open category still exists, but members can't use it yet.
Send a ticket panel from the category page
Tickets → Ticket panels has a panel publisher built from the same message blocks as Messages. Choose which panels to include, customize the message, preview it, then send.
For anything beyond a single category's panel, combining several category buttons in one message, or a fully custom layout, use the full Message builder instead.
The ticket lifecycle, from open to close
- Open. A member clicks the panel, or staff run
/open category:<name> member:<user>for them. If the category has questions, the member answers them in a pop-up form first. - Channel created. A private channel opens under the category's open category, visible only to the author and staff.
- Claim.
/claimmarks a staff member as responsible for the ticket. It also moves the channel to the claim category if one's set./releasehands it back to the team; only the claimer or an admin can do that. Why this matters is covered in Discord ticket claiming explained. - Work it.
/add//removemembers,/renamethe channel, or/escalateit to another category (including jail, see Jail). - Close.
/close reason:<text>runs the category's Close behaviour: by default it archives the ticket, a signed HTML transcript goes to the transcript channel (and the author's DMs, if enabled), then the channel is deleted. A category can instead be set to keep the channel around (author loses access, staff can Delete/Transcript/Reopen it later) or to delete without ever generating a transcript, see Automation./verifyconfirms a transcript hasn't been edited.
See Commands for exact options.
Staff roles vs. server permissions
- Category actions (claim, close, add/remove, escalate) are gated by that category's staff roles, set on its dashboard page.
- Server actions (create, edit, delete, send) always need Administrator or Manage Server, regardless of staff roles.
Admins pass any category's staff-role check automatically.
Limit how many tickets a member can open
- Per-user ticket limit caps simultaneous open tickets per member. Staff bypass limit exempts staff.
- Required/denied roles gate who can open one at all.
Full details: Ticket settings.
NSFW toggle
/nsfw, run inside a ticket channel, toggles Discord's age-restricted flag for that one channel. New tickets always open unrestricted.