Discord Ticket Panels
Configurable support-ticket panels for Discord - multiple panels per server, each with its own staff, questions, and cleanup rules.
What it is
/ticket panel posts a button in the current channel. Clicking it opens a
private ticket channel visible only to the person who opened it and your
staff. A server can have several panels - support, bug reports, staff
applications - each independently configured.
This is the same system a fresh /build-server build uses when you enable
the ๐ซ Support tickets extra - one implementation either way.
Commands
/ticket panel post a new panel in this channel - admin only
/ticket config [panel_id] edit a panel's settings - admin only
/ticket add <user> add someone to the current ticket - staff only
/ticket remove <user> remove someone from the current ticket - staff only
/ticket rename <name> rename the current ticket - staff only
/ticket close [reason] close the current ticket - opener or staff
/ticket transcript save and post a transcript - opener or staffโ ๏ธ /ticket isn't gated Administrator at the Discord command level like
/build-server is - Discord only supports permission gates on a whole
command, not per subcommand, and a ticket's own opener needs to be able to
close it without being a server admin. Every subcommand checks itself
instead: staff means a member holding one of the panel's configured
staff roles (or an admin); the opener is whoever's ticket it is.
Setting one up
- Run
/ticket panelin the channel you want it in. It auto-detects a role named "Mod" or "Moderator" if one exists; otherwise it posts with no staff role and tells you to set one. - Run
/ticket configto open the settings dashboard:- Staff roles - who can see and manage tickets (native role picker, multiple allowed)
- Ticket category - where opened ticket channels land (native channel picker; defaults to the panel's own category)
- โ๏ธ Text & button - title, description, button label/emoji, colour
- โ Opening questions - up to 4 questions asked via a form before the ticket channel is created, so staff open a ticket with context already in it instead of "hi" and a wait
- ๐งน Limits & cleanup - max open tickets per member, the channel naming pattern, auto-close after idle hours, and how many days after closing a ticket gets deleted
- โ Repost panel now - pushes any changes to the live message
Closing a ticket
/ticket close [reason] or the panel's Close button:
- Revokes the opener's access to the channel
- Renames it to
closed-<name> - Posts a transcript (if the panel has that on, which is the default) as a
downloadable
.txtfile - Schedules deletion after the panel's configured delay (default 3 days)
Deletion runs on an hourly cron - closed tickets are not deleted instantly, so there's a window to review one before it's gone.
Limits
- Discord allows 500 channels per guild, categories and tickets both counted. The delete-after-days cleanup exists specifically so a busy server doesn't hit this.
- A member is capped at 1 open ticket per panel by default (configurable up to 20).
- Opening questions are capped at 4 - Discord's modal limit is 5 fields, and one is implicitly the "submit" action.
Discord Server Builder
An interview-driven full server build - structure, written rules, protection, branding and tickets - run from a server's own Discord.
Discord Roles, Giveaways, Scheduling and Backup
Self-assign role panels, a verify gate, giveaways, scheduled posts, and server backup/restore - all webhook-only, no bot uptime required.