BMO Wiki

All commands ๐Ÿ“–

Every command BMO understands, grouped by feature. Almost everything here can also be configured from the dashboard โ€” commands are the in-Discord alternative.

How to read this page

Each command is tagged with how you type it and who can use it:

If you're setting the bot up, start with the dashboard instead of settings commands โ€” it has channel and role pickers, so you never have to copy IDs. The settings commands below do the same jobs from inside Discord.

Jump to a module:

Help

The built-in guide to everything on this page, right inside Discord.

CommandTypeWhat it does
/helpslash prefixOpens an interactive help menu with 14 sections, a section picker, next/back buttons, and a dismiss button. Replaces Discord's plain built-in help.

Ping

The quickest way to check the bot is alive and responsive.

CommandTypeWhat it does
/pingslash prefixShows the bot's gateway latency and response time in an embed.

Dashboard link

Forgot the dashboard address? Ask the bot.

CommandTypeWhat it does
/dashboardslash adminShows the web dashboard URL, whether it's running, and the sign-in mode. Only admins can use it, and the reply is visible only to you.

Jail & bans

The jail system isolates a troublemaker in one command: their roles are saved, they're locked into a single jail channel, and everything is logged. Set it up from the dashboard under Setup โ†’ Jail (which can auto-create the role and channel for you), or with the commands below. Full guide: Moderation & jail.

CommandTypeWhat it does
/setadmin add|remove|list @roleslash prefix adminChoose which roles are allowed to use the jail and ban commands. Requires Administrator.
/jailsetupslash prefix adminCreates the jailed role and the jail channel, then locks permissions in every channel so jailed members can only see the jail.
/jailreslash prefix adminRe-applies the jail permission locks to all channels โ€” run it after creating new channels so they're covered too.
/jail @user reasonslash prefix adminJails a member (reason required). Their roles are snapshotted so they can be restored later, the jail channel is notified, and the action is logged.
/unjail @user reasonslash prefix adminReleases a jailed member (reason required): removes the jailed role and clears their jail record.
/ban @user reasonslash prefix adminBans a user โ€” accepts a mention, an ID, or a name โ€” with a required reason, and posts a ban-notice embed you can customise on the dashboard's Embeds page.
Jail and ban commands are limited to Administrators plus any roles you add with /setadmin โ€” regular members can never use them.

Warnings & intro finder

Lightweight tools for everyday moderation: keep a written record of warnings, and quickly find what a member posted in your introductions channel. Warning history is also visible on the dashboard's Moderation page.

CommandTypeWhat it does
/warn @user reasonslash prefix adminRecords a warning for a member (up to 50 stored per member) and mirrors it to your audit log and analytics. Needs Manage Messages.
/warnings @userslash prefix adminShows a member's stored warnings (the five most recent in an embed). Needs Manage Messages.
/find @userslash prefix adminSearches your intro channel for a member's messages, scores how intro-like each one is, and shows them in a paged browser with a "remind them" button. Needs Manage Messages.
/findset #channelslash prefix adminSets which channel /find searches. Also on the dashboard under Setup โ†’ Mod commands. Needs Manage Server.

Send as the bot

Post announcements in the bot's voice instead of your own. The dashboard equivalent is Setup โ†’ Send message, which has a channel picker and text box.

CommandTypeWhat it does
/sendslash prefix adminSends a message to any channel as the bot, with a confirmation step before it goes out. Needs Manage Messages.

Snipe

See what was just deleted โ€” handy when someone posts something and removes it before staff can look.

CommandTypeWhat it does
/snipeslash prefixShows messages deleted in the last 10 minutes in a paged embed. Not open to everyone: only staff and holders of your rep, booster, media, or whitelist roles can use it.

Channel nuke

"Nuking" a channel wipes its entire message history by deleting the channel and instantly recreating an identical copy โ€” same name, permissions, topic, and position.

CommandTypeWhat it does
/nuke [#channel]slash prefix adminDeletes and recreates a text or voice channel with identical settings, clearing all messages. Requires Administrator, and the bot needs Manage Channels.
Nuking is permanent โ€” every message in the channel is gone for good. There is no undo.

Inactive-member purge

Trim members who joined long ago and never participate. Candidates are grouped into tiers (ghost, dormant, lurker) so you can start with the safest group. The dashboard's Purge page is review-only โ€” it lists candidates and writes out ready-to-paste /purge execute commands, but the actual kicking always happens in Discord.

CommandTypeWhat it does
/purge previewslash adminLists inactive-member candidates by tier without kicking anyone.
/purge executeslash adminKicks inactive members in a chosen tier. The dry_run option defaults to ON, so nothing happens until you explicitly turn it off. Every kick is recorded as a moderation action.
/purge whitelist-add @roleslash adminProtects a role โ€” members holding it are never purged.
/purge whitelist-remove @roleslash adminRemoves a role from the purge whitelist.
Run /purge preview first, and keep dry_run on for your first /purge execute โ€” you'll see exactly who would be kicked before anything happens.

Anti-nuke

Anti-nuke watches for someone (a rogue mod, a compromised account, a malicious bot) doing mass damage โ€” waves of bans, kicks, or channel deletions โ€” and reacts automatically. The easiest way to configure it is the dashboard's Setup โ†’ Anti-nuke page; the commands below do the same from Discord. All of them are admin-only. Full guide: Anti-nuke.

CommandTypeWhat it does
/antinukeslash prefix adminWith no subcommand, shows your current anti-nuke configuration in one embed.
/antinuke statusslash prefix adminShows the configuration plus any bot permissions that are missing for enforcement to work.
/antinuke enableslash prefix adminTurns protection on or off (leave the value out to toggle).
/antinuke cooldownslash prefix adminSets the detection window in seconds (3โ€“300) โ€” how far back the bot looks when counting destructive events.
/antinuke overloadslash prefix adminSets how many destructive events inside the window (2โ€“30) count as an attack.
/antinuke actionslash prefix adminChooses what happens when triggered: notify (alert only), kick, ban, or strip (remove the offender's roles).
/antinuke logchannelslash prefix adminSets or clears a dedicated anti-nuke log channel. If unset, alerts fall back to your audit log or security log channel.
/antinuke ignorebotsslash prefix adminToggles whether bot accounts are ignored by anti-nuke detection.
/antinuke dmslash prefix adminToggles sending the offender a DM explaining what happened when anti-nuke acts.
/antinuke wladd @userslash prefix adminWhitelists a trusted user so anti-nuke never acts against them.
/antinuke wlremove @userslash prefix adminRemoves a user from the whitelist.
/antinuke wllistslash prefix adminLists everyone on the anti-nuke whitelist.

Security & auto-ban

A small safety net: a log channel for security events, plus an optional "ban role" โ€” assign that role to someone and the bot bans them immediately. Useful as a one-click ban for staff who can manage roles but not bans. Dashboard: Setup โ†’ Security.

CommandTypeWhat it does
/securitystatusslash prefix adminShows the auto-ban trigger role, the log channel, and whether the bot has the permissions it needs.
/log #channelslash prefix adminSets the channel where security events are posted.
/banonrole @roleslash prefix adminSets the role that triggers an automatic ban the moment it's assigned to a member.
The auto-ban role is instant and unforgiving: assigning it bans the member on the spot. Pick a role nobody would ever hand out by accident.

NSFW spoiler guard

Watches for NSFW content hidden behind spoiler tags in channels where it doesn't belong and alerts your staff. Dashboard: Setup โ†’ NSFW guard.

CommandTypeWhat it does
/nsfwguardstatusslash prefix adminShows the guard's configuration and whether the bot can manage messages.
/nsfwguardchannel #channelslash prefix adminSets the channel where violation alerts are posted for staff review.
/nsfwguardrole @roleslash prefix adminSets (or clears) the role that gets pinged on each alert.

Audit logs

The audit log channel is where BMO posts a running record of what happens in your server โ€” joins, leaves, deletions, moderation actions, and more. Dashboard: the Log channels form on your server's Overview page, or Setup โ†’ Audit logs.

CommandTypeWhat it does
!logs set #channelprefix adminSets the audit log channel and refreshes the invite cache (used to work out which invite new members arrived through).

Welcome messages

Greet new members with a custom embed the moment they join. The dashboard's Setup โ†’ Welcome & goodbye page covers everything here plus goodbye messages and a live embed editor. Full guide: Welcome & intros.

CommandTypeWhat it does
!welcome add #channelprefix adminQuick way to set the welcome channel.
/welcomesetslash prefix adminConfigures (or shows) the welcome channel, the rules channel it points members to, and the three emojis used in the welcome embed.

Intros & activity

The intro system nudges new members to introduce themselves, tracks who has and hasn't, and can eventually remove members who never say a word. It's the most involved module, so we recommend configuring it on the dashboard (Setup โ†’ Intro & onboarding) and using these commands for day-to-day checks. Most of them are prefix-only.

CommandTypeWhat it does
!introsetupprefix adminOne-shot setup: picks the welcome and intro channels, an optional onboarding role gate, and starts a scan of past intros so existing members get credit.
!introbackfillprefix adminRe-scans the intro channel's history to mark members who already posted an intro.
/introemojislash prefix adminSets or shows the emoji used in intro welcome embeds.
!intromingraceprefix adminSets or shows how many seconds to wait after someone joins (and passes screening) before prompting them for an intro.
/needsintroslash prefix adminA paged list of members who still haven't posted an intro, with a button to queue reminder DMs. The slash version replies privately; the prefix version DMs (or posts) the list.
!statusprefix adminShows how many members currently count as inactive kick candidates, with a preview.
!inactivekickprefix adminKicks long-inactive members โ€” but only after a confirm/cancel button prompt. Requires Administrator.
!safelistprefix adminAdds, removes, or lists users and roles that are exempt from inactivity kicks. Boosters are automatically exempt. Requires Administrator.
!activityprefix adminAn activity report for the last N days: a message chart, joins and leaves, and the top channels, members, and keywords.
!inactivekick and !safelist require full Administrator permission, not just Manage Server โ€” removing members is a bigger deal than changing settings.

Rules poster

BMO can post your server rules as a polished embed with a banner image, and edit the same message in place whenever you change them โ€” no more deleting and reposting. Dashboard: Setup โ†’ Rules, where you can also edit the rules embed with a live preview.

CommandTypeWhat it does
/ruleset #channelslash prefix adminSets the rules channel (and forgets any previously posted rules messages, so the next post starts fresh).
/rulesimageslash prefix adminSets a custom banner image URL for the rules post, or shows the current one if you leave it out.
/postrulesslash prefix adminPosts the banner and rules embed in the configured channel โ€” or edits the existing post in place โ€” with optional pinning.

Self roles

Let members give themselves roles (age, pronouns, colors, interests) by reacting to a panel. The dashboard's Setup โ†’ Self roles page has a full builder for up to 12 custom panels plus one-off reaction roles on any message โ€” it's the recommended way. The commands cover the built-in starter panels. Full guide: Self roles & reactions.

CommandTypeWhat it does
!selfrole setup #channelprefix adminCreates the needed roles, posts the built-in age / gender / colors reaction panels in the chosen channel, and adds the reactions.
/selfroleemojislash prefix adminLists, sets, or resets the emojis used by the built-in self-role panels.

Auto reactions

Have the bot automatically react to messages โ€” for example a โญ on everything in your showcase channel, or a reaction only on messages with attachments. Rules can target one channel or the whole server, and can filter by content type (all messages, attachments, embeds, links, or stickers). Dashboard: Setup โ†’ Auto reaction.

CommandTypeWhat it does
/autoreactslash prefix adminWith no subcommand, shows usage help for the group.
/autoreact addslash prefix adminAdds a rule for one text channel with a content filter (all / attachments / embeds / links / stickers).
/autoreact addserverslash prefix adminAdds a server-wide rule covering every text channel.
/autoreact listslash prefix adminLists your rules with their index numbers.
/autoreact removeslash prefix adminRemoves one rule by its number from the list.
/autoreact clearslash prefix adminDeletes all auto-reaction rules at once.

Booster custom roles

A perk for your server boosters: their own personal role with a custom name, emoji, and icon. On the dashboard (Setup โ†’ Booster roles) you can also pick an extra role that unlocks this perk for non-boosters.

CommandTypeWhat it does
/br [emoji] role nameslash prefixCreates or updates the booster's personal custom role. The prefix form also accepts an attached image to use as the role icon. Boosters (and the reward role) only.
/briconslash prefixUploads a role icon from an attached image, with an optional rename at the same time. Boosters only.

Rep & vanity rewards

Reward members who rep your server โ€” putting your vanity link or server tag in their status โ€” with special roles that sync automatically. Configure the trigger text and reward roles on the dashboard's Setup โ†’ Vanity & rep page.

CommandTypeWhat it does
/repstatusslash prefixShows your own qualification: which rep signals the bot sees for you, which roles you hold, and your current tag snapshot. Anyone can use it.
/repsyncslash prefix adminForces a rep / booster / media role sync for one member โ€” or the whole server with a strict reconcile that removes roles from anyone who no longer qualifies.

Voice hub

Pick one "hub" voice channel; whenever someone joins it, the bot creates a personal voice room for them and moves them in. Empty rooms clean themselves up. Dashboard: Setup โ†’ Dynamic voice. Full guide: Voice rooms.

CommandTypeWhat it does
/sethubvcslash prefix adminSets the hub voice channel that spawns personal rooms.

VoiceMaster controls

Owners of personal voice rooms control them through a button panel โ€” Lock, Unlock, Ghost, Reveal, Claim, Disconnect, Start, View, Increase, Decrease โ€” so members never need to learn commands. You post the panel once; the dashboard can do it too (Setup โ†’ VC control panel), where the panel text is also editable.

CommandTypeWhat it does
/vcpanelslash prefix adminPosts the persistent VoiceMaster button panel in the current channel.
/vckick @userslash prefixLets the owner of a personal voice room disconnect one member from it.
/vcdisconnectallslash prefixLets the owner disconnect everyone from their room at once.

Voice listening

An experimental feature: the bot joins a voice channel and transcribes speech locally, watching for trigger phrases you define โ€” useful for catching slurs or specific words in voice chat and alerting staff. Its settings live in their own store, so this module is configured entirely by command rather than on the dashboard.

CommandTypeWhat it does
/listenslash prefixThe bot joins your current voice channel and starts transcribing, watching for trigger phrases.
/stoplistenslash prefixStops listening and leaves the voice channel.
/setlogchannel #channelslash prefix adminSets the text channel where trigger alerts and transcripts go.
/setnotifyrole @roleslash prefix adminSets the role that gets pinged when a trigger phrase is detected.
/addtriggerslash prefix adminAdds a trigger phrase to watch for.
/removetriggerslash prefix adminRemoves a trigger phrase.
/listtriggersslash prefixLists the configured trigger phrases.
/transcriptdebugslash prefix adminToggles posting full transcript debug output to the log channel.
/whisperstatusslash prefixShows the listening settings and whether the bot is currently in a channel listening.

Music

Simple music playback in voice channels from a URL or search. All music commands are prefix-only. Full guide: Music.

CommandTypeWhat it does
!play <url or search>prefixQueues and plays audio in your voice channel. Shortcut: !p.
!skipprefixSkips the track that's playing.
!queueprefixShows what's playing now and what's up next. Shortcut: !q.
!stopprefixStops playback, clears the queue, and disconnects the bot.

AI & word games

Ask the AI questions, or play quick word games where the AI picks the word, writes the trivia question, or invents the riddle. One game of each type runs per channel, and the person who started a game (or staff) can end it early. Full guide: Games.

CommandTypeWhat it does
/ai <question>slash prefixAsk the AI anything. Each person can ask once every 8 seconds.
!hangmanprefixShows hangman usage help.
/hangman start [difficulty]slash prefixStarts hangman with an AI-picked word (easy / medium / hard).
/hangman guess <letter>slash prefixGuesses a letter โ€” typing single letters in chat works too.
/hangman quitslash prefixEnds the game (starter or staff) and reveals the word.
!scrambleprefixShows word-scramble usage help.
/scramble start [difficulty]slash prefixStarts a word scramble with an AI-picked word.
/scramble guess <word>slash prefixSubmits an unscramble guess (5 attempts) โ€” bare words in chat also count.
/scramble quitslash prefixEnds the game (starter or staff) and reveals the word.
!triviaprefixShows trivia usage help.
/trivia start [difficulty] [category]slash prefixThe AI writes a multiple-choice trivia question at your chosen difficulty and category.
/trivia answer <A|B|C|D>slash prefixAnswers the current question.
/trivia quitslash prefixEnds trivia without answering (starter or staff).
!riddleprefixShows riddle usage help.
/riddle start [difficulty]slash prefixThe AI writes a riddle to solve โ€” you get 3 wrong guesses.
/riddle guess <answer>slash prefixSubmits an answer โ€” chat replies count too.
/riddle quitslash prefixEnds the riddle (starter or staff) and reveals the answer.

Mafia

The classic social deduction game, run entirely by the bot: it DMs secret roles, runs the night phase, and tallies day votes. You need at least 5 players. Full guide: Games.

CommandTypeWhat it does
!mafiaprefixShows Mafia usage help.
/mafia startslash prefixOpens a lobby in the current text channel.
/mafia joinslash prefixJoins the lobby in this channel.
/mafia leaveslash prefixLeaves the lobby โ€” or forfeits (you're marked dead) if the game already started.
/mafia playersslash prefixLists the players and who's still alive.
/mafia beginslash prefixStarts the game (host or staff, minimum 5 players): secret roles go out by DM and the first night begins.
/mafia night [@player]slash prefixSubmits your night action (killer / doctor / nurse) โ€” a fallback for when DMs don't arrive.
/mafia vote [@player]slash prefixCasts (or skips) your day vote โ€” also a fallback for when DMs fail.
/mafia cancelslash prefixCancels the lobby or the running game (host or staff).
Mafia relies on DMs for secret roles and night actions. Players with DMs closed can still play using /mafia night and /mafia vote in the channel.

Owner: bot management

These commands manage the bot's own code modules and only work for the bot owner โ€” server admins can't use them. If you self-host BMO, they let you reload features without restarting the bot.

CommandTypeWhat it does
/cogsslash prefix adminLists the currently loaded modules.
/cogloadslash prefix adminLoads a module by path and re-syncs the slash-command tree.
/cogreloadslash prefix adminReloads a module (or loads it if it wasn't loaded) and re-syncs.
/cogunloadslash prefix adminUnloads a module (it refuses to unload the manager itself).
/cogreloadallslash prefix adminReloads every module and re-syncs all slash commands.