Ticket Bot is centrally hosted. You invite it to your server and configure it with slash
commands — there’s no self-hosting, database, or deployment to manage.
Is Ticket Bot for you?
Ticket Bot is built for servers that need more than a single “open a ticket” button. It’s a good fit if you:- Run a support desk that needs staff tiers, claiming, transcripts, and auto-close instead of one flat “everyone can touch every ticket” model
- Sell products or services and want a guided checkout-style flow inside Discord — category, product, duration/plan, price, discount — ending in a ticket rather than an external cart
- Deliver license keys or similar stock and need that handled safely: encrypted at rest, never double-issued to two staff at once, and never silently lost if a DM fails
- Want structured client intake collected before a ticket opens, with deterministic qualification scoring and routing — not a black-box AI score
- Need staff authority to have real tiers (Support, Sales, Reseller, Staff, Manager, Admin) instead of one binary “is this person staff” check
What it does
Standard ticket desks
Button or dropdown panels, intake forms, opening/channel permission rules, claiming,
assignment, transcripts, and auto-close.
AIO sales funnel
A guided Category → Product → Duration purchase flow with authoritative pricing, stacked
discounts, and encrypted key/license delivery — into the same ticket engine.
Client intake
An optional plugin: multi-step, conditional questionnaires with deterministic
qualification scoring and routing, collected before a ticket ever opens.
Smart Gate
Rules-based screening on top of a form’s answers — approve, deny, or dry-run — before a
ticket type can be opened at all.
Staff operations
Role-mapped staff tiers, per-panel/per-option permission rules, automation (auto-message,
auto-ping, auto-close, close-on-leave), and payment method presentation.
Feedback & analytics
Post-close star ratings, per-viewer translated panels, and a dashboard covering volume,
SLA, AIO order value, inventory levels, and feedback.
How it is built
Everything is Components V2. Every panel, modal, and response uses Discord’s Components V2 layout system —discord.Embed is never used anywhere in the bot.
One ticket engine, two front doors. A Standard panel button and the AIO funnel’s “Confirm &
Create Ticket” both end at the same provision_ticket() call, which is why claiming,
transcripts, auto-close, and payments work identically no matter how the ticket was opened.
Interactive components survive restarts. Buttons and selects are registered as
discord.ui.DynamicItem classes whose state lives in their own custom_id — not in memory —
so a panel, an in-progress AIO purchase, or an intake draft keeps working immediately after a
restart with no per-message re-registration.
Money is exact. Prices are stored as integer minor units (cents) and AIO pricing is always
recalculated from live catalog and discount data at confirmation time — never trusted from a
stale snapshot or a component’s encoded value.
Start here
Invite Ticket Bot and get a working ticket panel live.