Discord ticket bots
A ticket bot gives every support request its own private channel, so members can ask for help without posting in public and staff can see who is handling what.

How a ticket bot works
A ticket bot usually starts with a panel: one message in a channel like #support with a button or a dropdown for each kind of request. When a member clicks, the bot creates a new text channel under a Tickets category and sets permission overwrites on it. The member and your staff role can see it, @everyone cannot. That is all a private ticket is in Discord terms, which is why the bot needs Manage Channels and Manage Roles.
The parts that make it useful for a team come after the channel exists. A claim button marks who is handling a ticket, so two moderators do not answer the same person. Commands like /add and /remove bring someone else in or take them out. When the ticket closes, the bot reads the channel history and saves a transcript, usually a text or HTML file posted to a staff-only log channel, before it deletes the channel.
Transcripts are the reason most ticket bots need the Message Content intent. Without it, Discord hands the bot those messages with the text left empty. On Discord Bot Creator you describe your ticket types, roles and log channel, and the bot is built and hosted for you.
What it usually does
- Posts a ticket panel with a button or dropdown for each request type
- Creates a private channel that only the member and the support role can see
- Lets staff claim a ticket so one person owns each conversation
- Adds or removes people from a ticket with /add and /remove
- Saves a transcript to a staff log channel when the ticket closes
- Limits each member to one open ticket at a time
Permissions and intents it needs
Give a bot only what it uses. These are the permissions a typical ticket bot asks for in its invite link, and why.
| Permission | Why |
|---|---|
| Manage Channels | Creates each ticket channel and deletes it after the ticket closes. |
| Manage Roles | Sets the channel permission overwrites that keep a ticket private, and changes them when someone is added or removed. |
| View Channels | Sees the panel channel, the ticket category and the log channel. |
| Send Messages | Posts the panel, the opening message in each ticket and the close notice. |
| Embed Links | Shows the panel and ticket details as embeds. |
| Read Message History | Reads the whole conversation back to build the transcript. |
| Attach Files | Uploads the transcript file to your log channel. |
Privileged intents
Message Content Intent
Needed for transcripts. Without it, the messages the bot reads back from a ticket channel arrive with empty text.
Turn it on in the Developer Portal → your app → Bot → Privileged Gateway Intents. Once a bot is in 100 or more servers, Discord has to verify it and approve each privileged intent.
Ticket bots built here
Real bots made by describing them, running in Discord servers now.
No ticket bots are listed yet. Bots appear here once they have been online for three days and joined a server. Yours could be the first.
Describe yours like this
Name the channels, roles and commands you want. The more specific the description, the less you need to change afterwards.
Make a ticket bot for my server. Put a panel in #help-desk with two buttons, Order problem and Other question, and open a private channel for the member and the @Staff role under the Tickets category. Staff can /claim and /close, and on close save the transcript to #ticket-logs.
Questions about ticket bots
How do I make a ticket bot on Discord?
Describe the panel, the ticket types, which role answers tickets and where transcripts should go. The bot is written from that description. Then you create an application in the Discord Developer Portal, paste its token, turn on the Message Content intent and invite the bot. Make sure it can see the ticket category, then post the panel in your support channel.
Can members see other people's tickets?
Not if the overwrites are set correctly. Each ticket channel denies View Channels to @everyone and allows it only for the member who opened it, your support role and the bot. Watch out for roles with Administrator: they ignore channel overwrites and can see every ticket, so keep that permission off roles that should not read support conversations.
What is a ticket transcript?
A copy of everything said in a ticket, saved when it closes. Most bots post it as a text or HTML file in a staff-only channel and can DM a copy to the member. It lets you delete the channel without losing the record, which matters for appeals, refunds and disputes between members.
Is there a limit on how many tickets can be open?
Discord allows 50 channels in one category and 500 channels in a server. A busy server can hit the category limit, so ticket bots often spill over into a second category or close tickets that have been quiet for a set time. Limiting each member to one open ticket also keeps the count down.
Other kinds of Discord bots

Describe the ticket bot your server needs
Write it in a sentence or two. You see the plan before anything is built, and your first bot runs free for 7 days.