A panel members press, a private channel or thread that opens, staff who claim it, a transcript when it closes. Ready made from the Tickets module, or built stage by stage from the same blocks as the rest of your bot. Free, and your bot.
Need a hand?
Click the button below to contact the Nightfall support team. A private ticket opens for you and the staff.
Mika's Ticket
Support Team has been pinged. Average first reply: 6 minutes.
The decisions a panel asks for in the module, and what each one does to the ticket that opens.
Up to five buttons in a row, or one menu with up to 25 options.
Each one is a button or option with its own blocks: its own form, its own staff role, its own category.
Need help?
Pick what this is about and a private ticket opens for you and the team.
ticket-0142Created under the category you chose, with these overwrites:
The module numbers each panel separately and pads to four digits. Builder version: a Server Number variable and an equation.
Every setting here has a builder equivalent. The naming pattern is a variable, the overwrites are fields on Create a Channel, the categories are buttons with their own blocks.
Ready made and free. Every panel is its own little ticket system, and the rules below apply per panel.
Each panel has its own message, label, colour, emoji, support roles and ticket name. Connect up to 24 for a category picker.
Ask for a subject and details first. The answers land in the ticket as {form}, so staff never open a blank ticket.
Private channels under an open category, or private threads that keep the channel list short.
Closing moves the ticket to a closed category and removes the member. Reopen or delete from there.
New, edited and deleted messages are recorded. A logging channel gets every create, close, reopen, add, remove and error.
Maximum open and active tickets, per panel and per member. A cooldown between tickets, blacklisted roles that cannot open one.
Auto close or auto delete after inactivity, and a rule for when the ticket creator leaves the server.
Ping the support roles on open. DM the creator on create, reopen, add, remove and close.
Members mostly press buttons. The commands are for staff, and for opening a ticket on someone's behalf.
/ticket setupSend a panel to a channel
/ticket createCreate a ticket, for yourself or for a member
/ticket closeClose the current ticket
/ticket reopenReopen the current ticket
/ticket deleteDelete the current ticket
/ticket addAdd someone to the ticket
/ticket removeRemove someone from the ticket
/ticket automationEdit automated actions for this ticket
/ticket update-countsAdmin onlyUpdate ticket counts of the ticket system
Six stages. Pick one to see what the member and staff see on the left, and the blocks that produced it on the right.
Need a hand?
Pick what this is about and a private ticket opens for you and the team.
Run once in the support channel. A Role Condition keeps members from posting their own panels.
An embed in your colour and one button per category. Each button carries its own chain of blocks.
Button styleEmojiDisabledSo the panel stays at the top of the channel.
Three buttons, three separate flows. The Report a member button can ask different questions and open under a different category than Support.
This is the whole system. About twenty blocks, no ticket specific ones among them, and every stage is yours to change.
The first decision. Both are one setting in the module and one block in the builder.
The classic. A text channel under an Open Tickets category that only the member and the support roles can see.
A private thread inside the panel channel. Invisible to everyone who is not in it, and it never touches the channel list.
General purpose blocks, grouped by the job they do in a ticket. Open one to see what it asks for.
Each one is a real flow you can drag out block by block.
On the panel.
A per member Number variable set to 1 when a ticket opens and 0 when it closes.
Store the channel ID in another user variable at open time so the link is one variable away.
The rest of the open flow runs as normal.
Open the module's Events tab and you find a timed event, a member leave event and three message events. Pick one to see what it does and how you would change it.
Auto close is a timed event. The module checks every open ticket against its last activity and closes or deletes the ones past the limit.
{timestamp}The module's variables and the builder's, typed straight into an embed. Switch to see the template behind the reply.
{ticket}Mentions the ticket{ticket_name}Its name{ticket_id}Its ID{panel_count[4]}Ticket number for this panel, padded to 4 digits{total_count}Ticket number across every panel{form}The form answers, formatted{controls}The ticket buttons{ping}Mentions of all support roles{support.subject}A form field, named by you{transcript.url}View link from Create Transcript{transcript.download_url}Download link{BGVAR_ticket_count}Your own counter{user}The memberMika's ticket, ticket-0142
Ticket {panel_count[4]} on this panel, 1204 overall.
Every variable above works in the module and in your own commands.
Ticket Tool, Tickets, Ticket King and the rest do tickets well. The difference is whose bot it is and what else it can do.
| Feature | Your BotGhost bot | Dedicated ticket bots | Coding your own |
|---|---|---|---|
| Runs under your own bot name, avatar and colour | Yes | Paid plan | Yes |
| Panels with buttons or a select menu | Yes | Yes | Code |
| Forms before the ticket opens | Yes | Varies | Code |
| Channel or thread tickets | Yes | Varies | Code |
| Two step close, transcripts, limits, auto close | Yes | Varies | Code |
| Change how any stage works | Yes | No | Code |
| AI first response and triage | Yes | Varies | Code |
| Applications, appeals and reports from the same blocks | Yes | Limited | Code |
| Moderation, economy, music and the rest in the same bot | Yes | No | Code |
| Cost | Free | Free tiers and paid tiers | Server bills and your time |
Dedicated bot features vary by bot and plan. White labelling is a paid tier on the major ones. Checked September 2026.
The same stages, tuned very differently
The questions that used to land in DMs, in one place with a record.
Customer service where your customers already are.
Private review rooms with Accept and Decline buttons.
Disputes, check ins and prize claims, without a channel per team forever.
Tickets run on infrastructure that has been hosting Discord bots since 2018.
From a fresh bot to a panel in your support channel
Sign in to BotGhost, create a bot, and invite it with Manage Channels, Manage Threads and Manage Messages.
Open Modules and switch on Tickets. Set the manager roles, the embed colour and the cooldown between tickets.
Name it, write the panel message, pick a button or a select menu, choose support roles, and turn on the form if you want questions first.
Channel mode with an open and a closed category, or thread mode. Set the ticket name pattern and the creation message.
Run /ticket setup in your support channel. Add limits per panel and per member, and an automation for inactivity.
Open the builder for an AI first response, an applications panel, or a rating DM. This page shows every block.
What a ticket system is made of, the two ways to add one on BotGhost, and how to keep it from rotting.
Under every ticket bot there are six moves: show a panel, ask a question, create a private room, let staff take it, close it, and write down what happened. Dedicated ticket bots do those six moves well and charge for the branding. Shared bots do them the same way in every server.
BotGhost gives you the six moves twice. The Tickets module does them ready made, with panels, forms, limits, automations and transcripts. The builder does them as blocks, so the move you want to change is the only one you rebuild. Both run in a bot with your name on it.
The module route is a few minutes. The builder route is an afternoon the first time and an hour the second, because the shape is always the same:
A ticket bot decides what a ticket is. The builder does not. An application is a form and a private thread with the admins. An appeal is a form and a channel with Approve and Deny buttons. A prize claim is a form and a DM. None of those are tickets to a ticket bot, and all of them are the same five blocks here.
And because the rest of your bot is in the same builder, a ticket can do things ticket bots cannot: check a member's warning history from the moderation module, refund coins from the economy, or ask a model to draft the first reply from your FAQ.
Ticket systems rot from the edges: abandoned tickets, duplicate tickets, a channel list nobody can read. The module has limits per panel and per member, a cooldown, blacklisted roles, and automations that close or delete after inactivity or when the creator leaves.
In the builder the same rules are a Comparison Condition on a per member variable, a button cooldown, a Role Condition, and a timed event that compares a timestamp. Nothing exotic, and all of it visible on the canvas.
Tickets are one part of the bot. Here is the rest of it.

Create a bot, switch on the Tickets module, and have a panel in your support channel in minutes. No code, nothing to install.