MikuBot documentation
Everything you need to set up and run tickets in your Discord server.
MikuBot gives your server a ticket system. Members click a category on a panel, answer a few questions, and get a private channel with your staff. When the ticket closes, a transcript is saved.
Commands start with *, for example *setup. Most settings can also be changed from the dashboard.
Add the bot
You need the Manage Server permission to add a bot to a server.
The invite already selects every permission the bot needs. Keep them all ticked. See Permissions for what each one does.
Setup
Run *setup in any channel. The bot asks three questions:
- Which channel should transcripts be logged in? Mention the channel or send its ID.
- Which role can access tickets? Mention the role or send its ID.
- Which channel should MikuBot announcements go to? Mention the channel or send its ID, or type
skipand the bot picks the channel most members can see.
Type cancel to stop. Each question waits 60 seconds and gives you 3 tries. Setup doesn’t create channels or roles, so you choose everything. Run it again any time to change your answers, or use *setlogs #channel to change only the log channel.
The ticket role can see every ticket and use the Claim and Close buttons.
Categories
A category is a type of ticket, like Purchases or Player Report. Run *categories to open the manager.
Add a category
- Click Add Category and type a name. Emojis in the name are fine, and the name is used exactly as typed.
- The bot creates a Discord category with the same name. It’s hidden from everyone, so it only shows up for people who have a ticket open in it.
Delete a category
- Click Delete Category and type any part of the name. It doesn’t have to be exact: typing
player PportfindsPlayers Support. - The bot shows the closest match and asks you to confirm.
- A category with open tickets can’t be deleted until they’re closed.
The panel
The panel is the message members use to open tickets. Run *sendpanel #channel, or just *sendpanel to post in the current channel. You need a finished setup and at least one category.
- There is one panel per server. Sending a new one replaces the old one.
- Each category has a button with a live count of open tickets.
- You can switch to a dropdown menu instead of buttons in the customize editor.
- It updates by itself when you change categories or text, and when tickets open and close.
Tickets
What members do
- Click a category on the panel.
- Fill in the form if you added questions.
- Get a private channel, for example
players-support-john, and use the Open ticket button to jump to it.
Each member can have one open ticket per category. If they already have one, the bot links it.
What staff can do
- Claim marks the ticket as yours. The button greys out and shows who claimed it.
*claimdoes the same. *addmember @userand*removemember @userchange who can see the ticket. The ticket owner can’t be removed.*rename namerenames the channel.*ticketslists every open ticket in the server.
Ticket channels are only visible to the member, the ticket role and the bot. Anyone with Administrator can always see them.
Closing and transcripts
- Close asks for confirmation. Close With Reason opens a box to type a reason first.
*close [reason]does the same from chat. - The ticket owner and staff can close a ticket.
- The bot posts a transcript in your log channel with the ticket name, category, owner, who closed it, who claimed it and the reason.
- The ticket owner gets the transcript by DM if their DMs are open.
- The channel is deleted 5 seconds later.
*transcript makes a transcript at any time without closing the ticket.
Transcripts look like a Discord chat and include up to the last 2000 messages, embeds, your server’s name and icon, and images. About 12 MB of images fit in one transcript. Extra images show a “failed” picture, and other file types appear as links that may expire.
Customize
Run *customize, or use the dashboard. Pick what to edit from the dropdown at the bottom: the panel, the default ticket message, or any single category. Then use the buttons:
- Title & Description edits the text.
- Image adds a picture. See Images.
- Color sets the color. The dashboard has a color picker.
- Questions (categories only) sets up the form. See Questions.
- Panel Style switches between one button per category and a dropdown.
- Reset goes back to the defaults.
Placeholders
In ticket messages you can use {user}, {type} (the category name), {open} (open tickets in that category) and {server}. The panel supports {server}.
Categories inherit
Anything you don’t change for a category uses the default ticket message. A category can override the title, description, image and color on its own. The color set on the panel applies to every message the bot sends, while a category’s own color only affects that category’s ticket message.
Every message also shows your server’s name and icon at the top.
Images
You can add an image to the panel, the default ticket message, or any category.
- Run
*customizeand choose what to edit. - Click Image.
- Within 60 seconds, upload a picture or paste a link in the same channel.
In the dashboard, choose a file or paste a link and click Upload image.
- PNG, JPG, GIF (animated is fine) and WEBP, up to 8 MB.
- Type
removeinstead of an image to clear it, orcancelto stop. - A category without its own image uses the default ticket image.
- Changes to a ticket message image apply to tickets opened afterwards.
Questions
Each category can ask members questions before their ticket opens.
- Run
*customizeand choose the category. - Click Questions.
- Add questions, remove one from the list, or clear them all.
You can add up to 5 questions per category, 45 characters each, and answers can be up to 1000 characters. All questions are required. Answers appear at the top of the ticket and in the transcript. A category with no questions opens a ticket straight away.
Access
Two groups of people can use the bot’s commands.
Admins
The server owner, anyone with Administrator, and anyone with Manage Server can use every command: *setup, *categories, *customize, *setlogs, *allowuser, *denyuser, *allowrole, *denyrole and *resetall, plus the staff commands.
Allowed people and roles
Give your staff access to the staff commands with:
*allowuser @userfor one person and*denyuser @userto remove them.*allowrole @rolefor everyone with a role and*denyrole @roleto remove it.*permsshows everyone who has access.
They can use *sendpanel, *tickets, *claim, *addmember, *removemember, *rename, *transcript, *close, *perms, *checkperms and *help. They can’t use the admin commands.
The role you pick in *setup is separate. It lets people see every ticket and use the buttons. For a normal staff team, use *allowrole on that same role. Members who open tickets don’t need any access.
Dashboard
The dashboard lets you manage the bot from a web page.
- Pass the quick check that you’re not a bot, then log in with Discord. Discord asks you to allow MikuBot to see your name and the list of servers you’re in.
- Pick a server. You see servers where you have Manage Server or Administrator. Servers without the bot show an Add bot button.
- Setup: log channel, ticket role, panel style, color, and sending the panel.
- Messages: text, images and reset for the panel and the default ticket message.
- Categories: add, delete, questions, and each category’s own text, image and color.
- Access: allowed users and roles.
- Tickets: a list of open tickets.
Commands
Admin commands
*setupchoose the log channel and ticket role*categoriesadd or delete categories*customizeedit messages, images, colors and questions*setlogs #channelchange the log channel*allowuser @userand*denyuser @usergive or remove access*allowrole @roleand*denyrole @rolegive or remove access for a role*resetallwipe the setup for the server, asks to confirm
Staff commands
*sendpanel [#channel]post the ticket panel*ticketslist open tickets*claimclaim the ticket*addmember @userand*removemember @userchange who can see the ticket*rename namerename the ticket*transcriptmake a transcript*close [reason]close the ticket*permsshow who can use the commands*checkpermsshow which permissions the bot has and lacks*language [en|ar]change the bot language for the server (English or Arabic)*helplist every command
*claim, *addmember, *removemember, *rename, *transcript and *close only work inside a ticket channel. *resetall removes your categories, open tickets, panel and settings for the server, and can’t be undone.
Permissions
The invite link already selects these. Run *checkperms any time to see what’s missing.
Required
- View Channels: see your channels and tickets.
- Manage Channels: create and delete ticket channels and their hidden categories.
- Send Messages: post the panel, ticket messages and replies.
- Embed Links: show the styled messages.
- Attach Files: send transcripts and your images.
- Read Message History: build transcripts and keep the panel up to date.
Optional
- Add Reactions: add a checkmark after some commands.
- Mention Everyone: ping your ticket role if it isn’t mentionable.
- Use External Emojis: only needed if your category names use custom emojis.
When the bot creates a channel it sets permissions on it, and Discord only lets a bot give permissions it has itself. If one required permission is missing, creating a ticket fails with Missing Permissions. Administrator also works, but isn’t required.
The bot also needs View Channel, Send Messages, Embed Links, Attach Files and Read Message History in the channel you use for the panel and in your log channel.
Troubleshooting
The bot doesn’t answer
Commands start with *. Make sure the bot can see the channel and that you’re the server owner, an admin, or have Manage Server.
It says it’s missing permissions
Run *checkperms. It lists everything the bot lacks, including in the current channel, the log channel and the panel channel. Fix each item and try again. If everything looks fine, a channel or category permission override may be blocking the bot, or its role may be below a role it needs to manage.
A member can’t open a second ticket
Each member can have one open ticket per category. They can open one in another category or close the current one first.
A member didn’t get the transcript by DM
Their DMs are closed. The transcript is still in your log channel.
The panel shows the wrong counts
Send a fresh panel with *sendpanel. The bot needs Send Messages and Read Message History in the panel channel to keep it updated.
An image shows the failed picture
The image may be too large, an unsupported type, or the link couldn’t be downloaded. Try a smaller PNG or JPG, then add it again.
How do I start over?
Run *resetall, then *setup again.
Limits
- 23 categories per server, with names up to 80 characters.
- 5 questions per category, 45 characters each, and answers up to 1000 characters.
- One open ticket per member per category.
- Images: PNG, JPG, GIF or WEBP, up to 8 MB each.
- Transcripts: the last 2000 messages and about 12 MB of images.
- Embed titles up to 256 characters and descriptions up to 4000.