Discord ticket & modmail bot

One button for members.
Private tickets for staff.

Support requests getting lost in DMs? ModMailBot is a free Discord ticket bot. Members press a Contact Us button and answer a short form. A private channel opens for them and your staff, with their answers already posted.

Free · Never asks for Administrator · Never stores your messages · Setup in about five minutes

Everything your members see: one message with your buttons, then a short form. No commands to learn. Need different buttons in another channel? Add a second panel.

How it works

From button to transcript

  1. YouPost a panelOne message, one button per ticket type, in a public channel./setup
  2. MemberPresses & answersA short form, then it’s out of their hands.no command
  3. AutomaticA private channel opensOnly that member and the staff you choose can see it. Their answers are posted up front.nothing to run
  4. StaffPropose closingThe member confirms, or a countdown finishes the job./close
  5. StaffArchive itA readable transcript, images included, lands in your archive channel./archive

One command to set up, two to run a ticket. The rest happens on its own. The boards below show each step as your members and staff see it.

Steps 1–2 · /setup

Post a panel. Members press and answer.

Reports, appeals, questions, whatever your server needs: each gets its own button. A button can ask up to five questions before the ticket opens.

Step 3 · automatic

A private channel opens, context attached

The bot pings the right role, so nobody starts with “hi, what’s wrong?”. Staff answer right in the channel, under their own names.

Steps 4–5 · /close, /archive

Close gracefully, keep the record

A member who still needs help presses I need more assistance, which pings your staff. The transcript is a file that opens in any web browser.

Add to Discord

Your server

What it adds to your server

Three channels in one category, plus a temporary channel for each open ticket. Setup can reuse channels you already have.

Channels the setup wizard creates, and who can see each one.
ChannelMembersStaff
▾ 🛠️ Support
contact-usThe panel lives here, read-only, so the button is the only thing to press.Yes, read-onlyYes
sam-report-a-memberOne per open ticket, created on the fly and deleted once it is archived. A member can see the ticket they opened and no one else’s. Staff see the ticket types their rank covers, so a junior role never sees a senior ticket.only their
own ticket
rank-approved
types only
ticket-archiveTranscripts land here and stay.NoYes
ticket-logBot notices for your bot admins: archives, failures, data deletion. Never message content.NoYes

Outside the channels it uses, the bot only registers its slash commands, sends whoever installed it one DM, and posts the setup announcement if you ask it to. Remove the bot and the channels, tickets and transcripts stay.

Features

What you can change

Custom ticket types

Up to 25 buttons per panel, each with its own color, emoji, intake questions, ping role, archive channel and welcome message.

Staff ranks

Ranks 1–10 mapped to your roles; higher ranks inherit lower ones. Attach a senior role to a type and it stays senior-only.

Abuse controls

A cooldown between tickets and a per-server rate limit, both adjustable, plus one open ticket per type and a blocklist. If a panel message is ever deleted, a daily check re-posts it.

Privacy

Your data stays yours

Privacy is how the bot is built, and this page is built the same way: no cookies, and no tracking or analytics scripts. We count clicks on our install links, in daily totals that identify no one.

Your messages are never stored on our side

No message content or intake answers are ever stored or logged in our database. What we keep includes your configuration, a small record per ticket (numeric IDs, status, and when it was opened, closed and archived, and by whom), who added the bot, and daily counts of tickets that couldn't be opened. That lives in Cloudflare D1, encrypted at rest. The privacy policy lists it.

It doesn't watch your server or read DMs

The bot keeps one connection to Discord open, only so it shows as online, and we chose not to receive your server’s messages or activity through it. Tickets start from a panel button, never a DM. Why we don’t use DMs.

No Administrator, ever

It asks only for the permissions it uses. The full list is in the reference.

Leave clean

Remove the bot and your server’s data is deleted from our database after 30 days, or right away if someone with Manage Server runs /data delete first. That also deletes the bot’s panel messages. Backup copies are gone within 90 days.

FAQ

Common questions

Is ModMailBot the same as Modmail?

No. Several Discord bots are called Modmail, and ModMailBot is a different one. We run it for you, so there’s nothing to download or host. How it’s different.

What permissions does it ask for?

Manage Channels and Manage Roles, used on the channels the bot creates and the ones you pick for it, plus four posting permissions: Send Messages, Embed Links, Attach Files and Read Message History. Discord grants all six server-wide at install. It does not ask to see your channels server-wide: it grants itself access to the specific channels it sets up, and nothing else. Never Administrator. Discord lists every one before you press Authorize, and the reference shows what breaks if any of them is missing.

Is there a paid tier?

Not currently. Everything here is free.

More questions and fixes live in help & troubleshooting.

Get started

Add ModMailBot in five minutes

Free. If it’s not for you, remove it anytime.