OpenTicket is a Discord bot you run yourself — host it on your own server, point it at your own database, and it turns a single click into a private channel routed to the right category, claimed by the right person, and closed with a full transcript.
It's source code, not a service — every ticket is its own private channel on infrastructure you control, scoped, permissioned, and logged automatically.
Members pick General, Billing, Technical, Sales, Abuse, or Partnership — each one opens in its own Discord category, so staff only see what's relevant to them.
Before a channel is even created, a quick form asks for a subject and a message. Staff walk in already knowing what they're dealing with.
Anyone on the support team can claim a ticket with one click. Closing generates a full transcript, DM'd to the member and logged for staff.
Everything lives in a config file and .env — categories, roles, colors, copy. Edit it, restart the process, it's yours.
Keeps the queue honest. Configurable per server, so it scales from a 50-person community to a busy storefront.
Every closed ticket is archived with a full transcript — searchable history for disputes, training, or just peace of mind.
This is the whole journey a ticket takes — no extra steps, no manual sorting.
A member chooses from the panel's dropdown — each option maps to its own Discord category behind the scenes.
A short popup asks for a subject and a message before anything is created — so the ticket arrives with context.
Staff claim the ticket, chat in a private channel only they and the member can see, and close it when it's done.
Closing sends a transcript to the member's DMs and a staff log channel, then the channel quietly winds down.
Clone the repo, drop in your bot token and config, and you're hosting your own ticket system. No managed service, no recurring fee for the base bot.
Get the source on GitHub