Documentation / Moderation / Command Reference
On this page
Overview Permissions /ban /unban /kick /mute /unmute /timeout /untimeout /warn /report /muterole

Moderation — Command Reference

Every moderation slash command — arguments, who can run it, what it does, and example responses.

Overview

Mokito provides 10 moderation slash commands. All of them are registered per-guild (not globally) and can be toggled on or off from the Commands page in the web panel. Commands are on by default.

CommandWhat it doesWho can run it
/banPermanently ban a user.Any moderator
/unbanRemove a ban by user ID.Any moderator
/kickRemove a user without banning.Any moderator
/muteAssign the mute role for a duration.Any moderator
/unmuteRemove an active mute.Any moderator
/timeoutApply Discord's native timeout.Any moderator
/untimeoutRemove an active timeout.Any moderator
/warnIssue a formal, logged warning.Any moderator
/reportReport a user to the moderation team.Any member
/muteroleSet or create the server's mute role.Owner or manager only

Permissions

"Any moderator" means the server owner, a Mokito manager, a user with Discord's Administrator permission, a member of the support team, a designated Mokito moderator, or a user who holds one of the additional roles configured on the Settings → Role access page.

Every command checks that moderation settings have been configured first. If they haven't, the command replies with an ephemeral message telling the caller to contact the admin team. Every command also checks that it is enabled for the server — if toggled off, it replies that the command is currently disabled.

Mokito needs the right Discord permissions. For /ban and /unban, the bot needs the Ban Members permission. For /kick, it needs Kick Members. For /mute and /unmute, it needs Manage Roles and a role higher than the mute role. For /timeout and /untimeout, it needs Moderate Members. If the bot lacks the required permission, the action fails with a human-readable error.

/ban

Permanently bans a user from the server. Mokito DMs the user before banning them (so the DM can be delivered), applies the ban, records it, logs the action, and sends notifications per your settings.

/ban user:@spammer reason:Posting illegal content

Mokito responds (visible in the channel):

@spammer has been banned.
ArgumentTypeRequiredDescription
userUser (@mention)YesThe user to ban. Must be a member of the server.
reasonStringYesWhy the user is being banned. Recorded in the moderation logs and included in the DM if DM offender is enabled.

The number of days of previous messages to purge is controlled by the ban purge days setting (default: 7 days).

/unban

Removes a server ban so the user can rejoin. Because banned users are no longer in the server, you cannot @mention them — you must provide their numeric Discord user ID. Mokito removes the Discord ban, revokes the internal ban record, logs the action, and sends public/log notifications. No DM is sent (the user is not in the server).

/unban user:123456789012345678 reason:Appeal approved

Mokito responds (visible in the channel):

@123456789012345678 has been unbanned.
ArgumentTypeRequiredDescription
userString (user ID)YesThe Discord user ID of the banned user. Must be a numeric snowflake (17–20 digits).
reasonStringYesWhy the user is being unbanned. Recorded in the moderation logs.
Finding a user ID. Enable Discord Developer Mode (User Settings → Advanced → Developer Mode), then right-click the user in the member list or a message and choose Copy User ID. You can also find the ID of a banned user on their member profile in the web panel.

You can also unban from the web panel — see the Overview → The unban flow section.

/kick

Removes a user from the server without banning them. The user can rejoin with an invite. Mokito DMs the user before kicking them, performs the kick, logs the action, and sends notifications per your settings.

/kick user:@troublemaker reason:Repeated rule violations

Mokito responds (visible in the channel):

@troublemaker has been kicked.
ArgumentTypeRequiredDescription
userUser (@mention)YesThe user to kick. Must be a member of the server.
reasonStringYesWhy the user is being kicked.

/mute

Temporarily mutes a user by assigning the server's mute role. Requires /muterole to have been run first to configure the mute role. Mokito checks that the user is not already muted, assigns the role, records the mute with an expiry time, logs the action, and sends notifications per your settings.

/mute user:@noisyuser reason:Spamming voice chat duration:2h

Mokito responds (visible in the channel):

@noisyuser has been muted for **2 hours**.
ArgumentTypeRequiredDescription
userUser (@mention)YesThe member to mute.
reasonStringYesWhy the user is being muted.
durationStringNoMute duration like 30m, 2h, 1d, or 1mo. If omitted, the default mute duration from settings is used.

Duration format supports combined values: 1mo2d8h (1 month + 2 days + 8 hours), 4d12h30m, etc. Units: m = minutes, h = hours, d = days, mo / mth / month = months (30 days). Use mo for months to avoid ambiguity with m (minutes).

The mute role must exist. If no mute role is configured, /mute replies: "No mute role is configured for this server. Please run /muterole first." If the user already has the mute role, the command refuses to double-mute and suggests /unmute.

/unmute

Removes an active mute from a user by removing the mute role. Mokito removes the role, clears the active mute record, logs the action, and sends notifications per your settings.

/unmute user:@noisyuser reason:Mute expired, behavior improved

Mokito responds (visible in the channel):

@noisyuser has been unmuted.
ArgumentTypeRequiredDescription
userUser (@mention)YesThe member to unmute.
reasonStringNoWhy the user is being unmuted. Optional.

/timeout

Applies Discord's native timeout (communication disabled) to a user for a fixed duration. Unlike /mute, this uses Discord's built-in timeout feature — no mute role is needed. Mokito applies the timeout, logs the action, and sends notifications per your settings.

/timeout user:@noisyuser duration:1 Hour reason:Spamming

Mokito responds (visible in the channel):

@noisyuser has been timed out for **1 hour**.
ArgumentTypeRequiredDescription
userUser (@mention)YesThe member to timeout.
durationString (choice)YesOne of: 1 Minute, 5 Minutes, 10 Minutes, 1 Hour, 1 Day, 1 Week.
reasonStringYesWhy the user is being timed out.

/untimeout

Removes an active Discord timeout from a user before it would naturally expire. Mokito clears the timeout, logs the action, and sends notifications per your settings.

/untimeout user:@noisyuser reason:Timeout lifted early

Mokito responds (visible in the channel):

@noisyuser has been removed from timeout.
ArgumentTypeRequiredDescription
userUser (@mention)YesThe member whose timeout should be removed.
reasonStringYesWhy the timeout is being removed.

/warn

Issues a formal warning to a user. Warnings do not change any Discord permissions — they are a logged, communicative action. Mokito DMs the user (if enabled), logs the action, and sends notifications per your settings. The warning appears in the user's moderation history on their member profile.

/warn user:@rulebreaker reason:First warning — off-topic in #support

Mokito responds (visible in the channel):

@rulebreaker has been warned.
ArgumentTypeRequiredDescription
userUser (@mention)YesThe member to warn.
reasonStringYesWhy the user is being warned. Included in the DM and the moderation log.

/report

Any member can use this to report another user to the moderation team. The report is posted as an embed to the reports channel configured in settings, and a new report appears on the Reports page in the web panel. The response is ephemeral — only the reporter sees it.

/report user:@badactor reason:Harassment in DMs evidence:https://discord.com/channels/.../123

Mokito responds (ephemeral, only visible to the reporter):

Your report has been submitted and forwarded to the moderation team.

Arguments

ArgumentTypeRequiredDescription
userUser (@mention)YesThe user you want to report.
reasonStringYesWhy you are reporting the user.
evidenceStringNoOptional evidence such as message links, message IDs, or a description of where to find the evidence.

Example

The embed posted to the reports channel looks like:

New moderation report · #a1b2c3d4-...
A member submitted a moderation report in **Your Server**.

Reported user: @badactor
Reported by:   @concernedmember (Concerned Member)
Reason:        Harassment in DMs
Evidence:      https://discord.com/channels/.../123
View report:   https://mokito.bippymiester.dev/dashboard/guilds/.../moderation/reports/a1b2c3d4-...

Responses

ConditionEphemeral response
Reports channel not configured"Reports are not configured for this server."
No user provided"Please provide a user to report."
No reason provided"Please provide a reason for the report."
Moderation settings not configured"Moderation commands are not set up for this server yet..."
Command disabled for this server"The **/report** command is currently disabled in this server."

/muterole

Sets up the server's mute role. This is required before /mute can work. You can either pass an existing role, or run it without a role argument and Mokito creates a new role named "Muted" for you.

Only the server owner or managers can run this command. Moderators cannot.

/muterole

Mokito responds (visible in the channel, after a brief defer):

The **Muted** is now the server mute role. Updated 3 categories, 2 standalone channels, 4 synced channels skipped. Synced channels inherit the mute role from their category and were not touched.
ArgumentTypeRequiredDescription
roleRoleNoAn existing role to use as the mute role. If omitted, Mokito creates a new role named "Muted" with no permissions and a red color.

When creating or assigning the mute role, Mokito applies a deny-overwrite to every category (so synced child channels inherit the mute restrictions) and to every standalone or desynced channel. Channels that are permission-synced with their category are skipped — adding an overwrite to them would desync them and could expose private channels. The deny-overwrite blocks: sending messages, sending messages in threads, creating threads, embedding links, attaching files, adding reactions, using external emojis/stickers, sending TTS messages, and voice actions (connect, speak, stream, soundboard).

If a "Muted" role already exists. When creating a new role (no role argument), Mokito checks for an existing role named "Muted" first. If one exists, it refuses to create a duplicate and tells you to use the existing one by passing it as the role argument.