Help

Something not working?

Start with /diagnose. You need Administrator to see it, or a rank 5 role an Administrator has allowed under Server Settings → Integrations → ModMailBot → Commands. Can’t see it? Ask your server owner to run it and paste you the result. If it comes back clean, the answer is almost certainly below.

On this page

Quick fixes

Common problems and fixes
ProblemWhat to do
Buttons do nothingRun /panel repair (rank 5; Discord shows it to Administrators, or to roles allowed under Integrations), then /diagnose. If the panel message itself was deleted, /panel repair re-posts it; left alone, the daily check does within a day.
"You already have an open ticket," but the channel is goneAn admin runs /config cleartickets user:@member. It closes that member’s ticket records whose channel is gone. A live ticket is left open and named in the reply; to close one, run /forceclose in it.
Nobody was pingedModMailBot is installed least-privilege, so it is not granted Mention @everyone, @here, and All Roles. That means it can only ping a role Discord already lets anyone mention. Recommended: Server Settings → Roles → your staff role → turn on Allow anyone to @mention this role. Staff and support roles are meant to be reachable, so making the role pingable is the smaller change. If you would rather keep the role unmentionable, give the bot the Mention @everyone, @here, and All Roles permission instead. You can check the ticket type actually has a ping role (/config view) and that its welcome message still contains {role_mentions}.
“Ticket creation failed” after the formEither the bot is missing a permission it needs, server-wide or in the ticket category (/diagnose names it), or the category is full: Discord allows 50 channels per category. Archive closed tickets, or give busy types their own category with /config ticket edit category:.
Archive failedUsually Attach Files or Send Messages is missing in the archive channel; /diagnose will say so.
Staff commands fail inside ticketsA channel restriction in Server Settings → Integrations. See below; restrict by role, never by channel.
The bot shows AdministratorInherited from a role attached to it; /diagnose names the role. See below.
A staff member can’t see /setup, /diagnose, /config or /panelDiscord hides all four from anyone without Administrator. Allow them for a role under Server Settings → Integrations → ModMailBot → Commands. That role also needs rank 5 (/config staff set).
Members say they can’t see the panelThe panel channel does not give @everyone View Channel and Read Message History. Fix the channel’s permissions, or re-run /setup, choose Adjust a section, then Channels, and let the bot create its own.
Anything elseRun /bugreport. What you type is sent to the developer with your username, user ID, server ID and the bot version, nothing from your tickets. It’s one way: for a reply, ask in our support server.

On this page · Top

I restricted the bot in Server Settings → Integrations and now staff commands don’t work

Open Server Settings → Integrations → ModMailBot and you land on the Command Permissions screen. It has three layers, in this order: Roles & Members, Channels, then a Commands list. The first two set the app-wide default and the Commands list overrides it one command at a time, so a command runs when its role gate and its channel gate both allow it.

That difference is what usually breaks. Denying @everyone under Roles & Members is safe and recommended: it is only a default, and a role added to a command in the Commands list brings that command back for that role. Denying All Channels is different in practice: every command without a channel setting of its own then runs only in the channels you list, and a ticket channel can never be on that list.

If your staff commands work everywhere except inside a ticket, a channel setting is what did it: the Channels row, or a channel override on the command itself. Ticket channels are created on demand, one per ticket, so they did not exist when you picked from that list and nothing you chose could have included them. With All Channels denied, /close, /forceclose and /archive fail in the only place they get used.

Warning: Set Channels back to All Channels, allowed. That is the fix, and it takes effect straight away with no need to re-invite the bot or re-run setup. Then control who can run what by role, in the Commands list, where a mistake is always reversible.

Not sure which layer you changed? Run /diagnose. It reads the Integrations screen back and names a denied All Channels row, so you can find the problem without clicking through every command. Run it again after the fix: the warning is gone once the row is set back.

What a good configuration looks like

Recommended Integrations settings for each of the three layers
LayerSet it to
1. Roles & MembersDeny @everyone. This is the app-wide default for every command, so one deny here hides the bot from ordinary members. Any role added to a command in row 3 overrides it for that command.
2. ChannelsAll Channels, allowed. Never deny this.
3. CommandsOpen each command your staff need and add the roles that should run it. This is also how a non-Administrator gets /setup, /diagnose, /config and /panel. Leave each command’s own Channel Overrides empty.

On this page · Top

Why does the bot show Administrator? We never granted that

Every role you attach to the bot contributes permissions. The usual culprit is a shared bot-organizer role that positions bots on the member sidebar and happens to carry Administrator. ModMailBot never requests Administrator and does not need it.

Warning: Remove Administrator from that role, or give the bot a dedicated, permission-free role for sidebar placement. Run /diagnose and it names any role granting the bot Administrator, so there is no guessing.

On this page · Top

Other questions

Do I have to do anything when the bot updates?

No. Updates roll out on our side. Your panels, open tickets and configuration keep working, and there is nothing to reinstall.

What happens if I kick the bot?

Your ticket channels and archived transcripts stay in your server. The bot’s stored configuration and metadata are deleted from our database after a 30-day grace period, so an accidental removal does not destroy your setup. To delete them at once, someone with Manage Server can run /data delete before removing the bot. That also deletes the bot’s panel messages. Backup copies are gone within 90 days.

Already removed the bot and want the data gone now?

Add it back, run /data delete (it deletes the panel messages too), then remove it again. Or email privacy@modmailbot.com.

Can I have multiple panels?

Yes, one per channel, each with its own buttons. /panel add puts a panel in another channel with the ticket types and text you pick, and /panel buttons changes which types a panel shows. With panels in more than one channel, /config ticket add asks which ones show a new type; a type no panel shows can still be opened by staff with /create.

Can I rename the channels the wizard made?

Yes. The bot tracks channels by ID, not by name, so rename or move any of them, ticket channels included.

Are tickets channels or threads?

Text channels, one per ticket, inside the Support category. Turn on auto-archive for busy types so closed tickets don’t count against Discord’s limit of 50 channels per category.

Can members DM the bot to open a ticket?

No. Tickets start from a panel button only, and the bot doesn’t read DMs by design. Why we don’t use DMs.

On this page · Top

Still stuck

The reference covers every command, ticket type option, staff rank and permission in detail. For anything else, join the support server or email support@modmailbot.com.