MCME Wiki

qBot is the bot in the MCME Discord server. It runs on Red-DiscordBot ("Red"), an open-source Discord bot. Red's features come in modules called cogs: some are built into Red (moderation, warnings, cleanup), others were written for MCME (the suggestion and bug boards, account linking, Patreon roles). This page is for staff and moderators: how to give qBot a command, which commands you will use day to day, and which role each one needs. Players only need the first two sections.

How to give qBot a command

qBot only answers when you mention it. The old ! prefix no longer works, and qBot has no slash commands yet.

  1. Type @qb and pick qBot from Discord's suggestion list (Tab or Enter). It turns into a blue tag. Typing @qBot as plain text does nothing.
  2. Type the command after it and send: @qBot help.

The mention must be the first thing in your message. Every example on this page is written as @qBot <command>. Words in <angle brackets> are required, words in [square brackets] are optional; leave the brackets out when you type. For the details of any command, send @qBot help <command>.

Why: Discord only lets a bot read the text of messages that mention it, unless Discord grants it a special permission (the Message Content intent). qBot does not have that permission. Buttons, drop-down menus and pop-up forms on qBot's posts work as normal.

Mentioning a member or a role in a command pings them. To avoid that, type their user ID or role ID instead (right-click, Copy ID; turn on Developer Mode in Discord's Advanced settings first). Commands that take a role also accept the role's name.

Commands for everyone

Command What it does
@qBot help Lists the commands you can use. @qBot help <command> explains one.
@qBot mcstatus Shows whether the Minecraft server is up: players online, version, and up to 10 player names. One check every 15 seconds per Discord server.
@qBot link Starts linking your Discord and Minecraft accounts. qBot sends you a code by DM. The steps are on Linking Discord and Minecraft.
@qBot unlink Removes your link and the Verified Ingame role.
@qBot bug mytasks Lists the bug reports assigned to you.

Suggestions and bug reports work with buttons, not commands:

Who can use what

Each staff table below has a Role column:

Role column says Meaning
Mod qBot's moderator role. qBot's admin role passes too.
Admin qBot's admin role. The moderator role is not enough.
A Discord permission, e.g. Ban Members Anyone whose Discord roles give that permission can use the command, even without qBot's Mod or Admin role.
Board staff A role that an admin added as staff for that board (suggestions, bug reports or role audit), or the Manage Server permission. qBot's Mod and Admin roles do not count here unless they were added too.

The server owner chooses which Discord roles are qBot's Mod and Admin roles, with @qBot set roles addmodrole @Role and @qBot set roles addadminrole @Role. The server owner passes every check. If a command or button refuses you and you think it should not, ask an admin.

As of November 2026 no Mod or Admin role is set, so a command marked Mod or Admin works only through the Discord permission in its row, or for the server owner. Making a role qBot's Mod role opens every Mod command to it. To open a single command to a role instead, the bot owner loads Red's Permissions cog once with @qBot load permissions, and the server owner or an Administrator adds a rule, for example @qBot permissions addserverrule allow whois @Staff.

Moderation

Command What it does Role
@qBot kick @member [reason] Kicks a member. Admin or Kick Members
@qBot ban @member [days] [reason] Bans a member, or a user ID of someone not in the server. days (0 to 7) also deletes that many days of their messages. Admin or Ban Members
@qBot tempban @member [duration] [days] [reason] Bans for a while, for example 3d or 12h. Without a duration it uses the default, 1 day unless an admin changed it. Admin or Ban Members
@qBot softban @member [reason] Bans and unbans straight away, to clear their recent messages. Admin or Ban Members
@qBot unban <user ID> [reason] Lifts a ban. Copy the ID from the modlog case or from the server's Bans list. Admin or Ban Members
@qBot voicekick @member [reason] Disconnects a member from voice. Mod or Move Members
@qBot rename @member [nickname] Changes a member's nickname. Leave it empty to clear it. Admin or Manage Nicknames

Example: @qBot ban 123456789012345678 1 Repeated griefing.

Warnings

A warning is worth points (1 unless you say otherwise). Admins can set automatic actions, such as a kick, when a member's points reach a total.

Command What it does Role
@qBot warn @member [points] <reason> Gives a warning. The reason is required. Admin or Ban Members
@qBot warnings @member Lists a member's warnings, with the ID of each. Admin
@qBot unwarn @member <warning ID> [reason] Removes one warning. Admin or Ban Members
@qBot reasonlist Shows the pre-set warning reasons. Admin or Ban Members
@qBot actionlist Shows the automatic actions and their point totals. Admin or Ban Members
@qBot mywarnings Shows your own warnings. Everyone

If qBot answers that custom reasons are not allowed, use one of the reasons from @qBot reasonlist.

Modlog cases

When an admin has set up a modlog channel, every kick, ban and warning becomes a numbered case there.

Command What it does Role
@qBot case <number> Shows one case. Any staff member
@qBot casesfor @member Browses all cases for a member (or user ID), one per page. Any staff member
@qBot listcases @member The same cases as a compact list. Any staff member
@qBot reason [case number] <reason> Sets or changes the reason of a case. Without a number it changes the latest case. The case's moderator, Mod, or the server owner

Cleanup

All cleanup commands need Mod or Manage Messages, and qBot needs Manage Messages in that channel. They work in the channel where you type them.

Command What it does
@qBot cleanup messages <number> Deletes the last messages in the channel.
@qBot cleanup user @member <number> Deletes that member's last messages (a user ID works for someone who left).
@qBot cleanup bot <number> Deletes qBot's messages and the commands sent to it.
@qBot cleanup before <message ID> <number> Deletes messages before a given message.
@qBot cleanup after <message ID> Deletes everything after a given message.
@qBot cleanup between <message ID> <message ID> Deletes everything between two messages.

Keep cleanup messages, cleanup user and cleanup bot at 100 or fewer. Above 100, qBot asks you to type yes or no, but it cannot read your reply, so it cancels. Run the command again for the next batch.

Custom commands

A custom command is a short reply that anyone can call up, for example a link to the rules.

Command What it does Role
@qBot customcom create <name> <text> Makes a new command. Anyone can then send @qBot <name>. Mod or Administrator
@qBot customcom edit <name> <new text> Replaces the text. Always give the new text: without it qBot asks for it in a reply it cannot read. Mod or Administrator
@qBot customcom delete <name> Removes a command. Mod or Administrator
@qBot customcom list Lists all custom commands. Everyone
@qBot customcom show <name> Shows a command's text and settings. Everyone

cc is a short form of customcom, so @qBot cc list works too. A reply can be at most 2,000 characters.

Suggestion board

A suggestion moves through channels: pending, then approved, then implementation underway, then implemented. Staff can also deny it. Each suggestion gets a discussion thread when it is submitted, and the author gets a DM at every status change.

Buttons on each suggestion (Role: Board staff):

Button Shown on What it does
Approve Pending Moves it to the approved channel.
Deny Pending or approved Asks for a reason, then closes it.
Delete Pending Removes it for good.
Start Implementation Approved Marks it as in progress.
Mark Complete In progress Moves it to the implemented channel and archives its thread.

Overview commands (Role: Admin or Manage Server; the board staff role alone is not enough):

Command What it does
@qBot suggestset list [status] Lists open suggestions, or those with one status: pending, approved, in_progress, implemented, denied or all.
@qBot suggestset stale [days] Open suggestions that have not changed for 14 days, or the number of days you give.
@qBot suggestset stats Counts per status, votes, approval rate and the top-voted suggestions.
@qBot suggestset bulkdeny <IDs> [reason] Denies several at once: @qBot suggestset bulkdeny 1 3 5 Stale.
@qBot suggestset bulkdelete <IDs> Deletes several for good, with their cards and threads.

Bug-report board

A bug report is open until someone claims it or is assigned, then in progress, then resolved or closed. Each report gets a discussion thread.

Buttons on each report:

Button Shown on Who What it does
Claim Open Board staff Assigns it to you and marks it in progress.
Assign / Reassign Open / in progress Board staff Pick a member from a list to assign it to.
Set Priority Open, in progress Board staff or the assignee Low, Medium, High, Critical, or none.
Add Note In progress Board staff or the assignee Adds a note to the card and the thread. It pings nobody; one note per person every 10 seconds.
Resolve In progress Board staff or the assignee Marks it resolved and moves it to the resolved channel.
Close Open, in progress Board staff Closes it with a reason; you can name the bug it duplicates.
Delete Open Board staff Removes it for good.
Reopen Resolved, closed Board staff Moves it back to the reports channel.

Overview commands (Role: Admin or Manage Server):

Command What it does
@qBot bugset list [status] Lists active bugs (open and in progress), or those with one status: open, in_progress, resolved, closed or all.
@qBot bugset stale [days] Active bugs with no activity for 14 days, or the number of days you give.
@qBot bugset stats Counts per status, priority and category, and the top assignees.
@qBot bugset assign <ID> @member Assigns a bug. Mention the member or give their user ID; a typed name is refused.
@qBot bugset unassign <ID> Removes the assignee and sets the bug back to open.
@qBot bugset priority <ID> <level> low, medium, high, critical or none.
@qBot bugset note <ID> <text> Adds a note, like the Add Note button.
@qBot bugset notes <ID> Shows all notes on a bug.
@qBot bugset bulkclose <IDs> [reason] Closes several at once.
@qBot bugset bulkdelete <IDs> Deletes several for good.

Role audit

Find out when a member got or lost a role, and who made the change. Role: Board staff (the audit staff role) or Manage Server.

Command What it does
@qBot audit role <role> [@member] All grants and removals of a role, optionally for one member only.
@qBot audit user @member All role changes for one member.

Example: @qBot audit role Builder. Discord keeps its audit log for about 45 days. For roles that admins put on qBot's watch list, qBot keeps its own copy for longer (180 days by default). Results come in pages; the Previous and Next buttons only work for the person who asked.

Escalation alerts

Discord lets someone with Manage Roles hand out every role below their highest role, so even a role with no permissions can extend what they can reach. qBot watches for this on its own; there is nothing to set up. A powerful role is one with Administrator, Manage Server or Manage Roles. Bot-managed roles don't count, because nobody can assign them.

qBot sends an alert titled Possible Permission Escalation when:

Alerts go to the bot owners by DM and to a private log channel.

If the change was meant to happen, such as a real promotion, there is nothing to do. If not, remove the role or move it lower in Server Settings → Roles. qBot only reports and never undoes a change itself.

To see who can hand out what right now, use @qBot auditset escalation (Admin or Manage Server). Alerts only fire on changes, so this is how you see what has always been that way. Each group in the report can hand out the role named and every powerful role below it. Nobody can hand out their own highest role, so someone whose highest role is Valar / Admins appears in the group below it.

How the watch works in detail is on the staff-only MCME Redbot page.

These commands work in the main MCME Discord server (qBot's home server for account links).

Command What it does Role
@qBot whois @member Shows the member's linked Minecraft name, UUID and when they linked. Mod or Manage Server
@qBot whois <Minecraft name> Shows which Discord account has that Minecraft account linked. Also finds a link after a Minecraft name change. Mod or Manage Server
@qBot linkset forcelink @member <Minecraft name> Links the accounts without the in-game code, and gives the Verified Ingame role. Admin or Manage Server
@qBot linkset forceunlink @member Removes a member's link and the Verified Ingame role. Admin or Manage Server
@qBot linkset list Lists all linked accounts, 15 per message. Admin or Manage Server

forcelink refuses when the member is already linked, or when the Minecraft account is linked to someone else: unlink first. Don't add or remove the Verified Ingame role by hand: qBot puts it back the way the links say and logs a warning.

Who has linked?

qBot's link records are what count, not the Verified Ingame role. Perks reads those records to give supporters their perks, and whois and linkset list read them too. To check one member, use @qBot whois @member or @qBot whois <Minecraft name>; to see everyone, use @qBot linkset list.

The role is a badge that shows a member has linked. It can be wrong for a while: someone can add it by hand until qBot takes it off again.

With no Mod role set (see Who can use what), only members with Manage Server can run whois. It shows which Discord account owns which Minecraft account, so open it to another role only if you trust that role with that.

The Verified Ingame role

Patreon checks

qBot gives Patreon members their Discord roles on its own, on a schedule (hourly by default), and removes them when a membership ends. These commands work in the main MCME Discord server. Role: Admin or Manage Server.

Command What it does
@qBot patreonset check @member One member's Patreon status: their Pledge, last charge, tiers, Patreon name, and whether their roles are in sync.
@qBot patreonset status The sync settings, the last sync, the patron count and the roles qBot manages.
@qBot patreonset audit Lists everyone whose patron roles don't match Patreon. Changes nothing.
@qBot patreonset sync Runs a sync now instead of waiting for the next one.

Admins set up the boards, their channels and staff roles, the link and Patreon settings, and the modlog channel. The word filter is switched off, because it needs to read message text.