THE MIZUKI HANDBOOK

Start with confidence
Moderate your way

From inviting the bot to fine-tuning your server's security rules.

Start hereInvite & configureFind your toolsMusic · security · commandsExplore at your paceWalkthroughs & common questions

01 / Welcome Mizuki to your server

  1. Invite Mizuki Bot ↗ (opens a new tab) Choose a server you are authorized to manage, review the requested permissions, and approve.
  2. Go to Server Settings → Roles. Place the bot's role above the members it will manage and allow access to the relevant channels.
  3. Type /help in your server to see commands available to you. Use /ping to check its response.

Command replies are private to the caller. Announcements, security logs, waiting-room cards, and DMs have recipients determined by settings. The invite does not request Administrator; it requests the member, message, channel, and role permissions needed for the bot's functions.

02 / Start by observing

Create a #security-log channel for staff only. Deny View Channel for @everyone and allow authorized staff roles. Give the bot View Channel, Send Messages, and Embed Links.

/security setup channel:#security-log
/security health
/security status

The dashboard includes Overview / Rules / Points / Data / Members / Anti-Nuke. Manage Server is checked again on each interaction.

off

Pauses automatic detection. Manual warnings, history, and unlock commands remain available.

enforce

Acts on points and actual permissions after staff review and tune the rules.

Default thresholds: more than 6 messages in 8 seconds; 4 repeated messages; the same text across 3 channels; more than 24 emojis; or more than 5 user/role mentions in one message. Link filtering uses configured domains and rules.

In enforce mode, warnings start at 1 point, deletion at 2, and a 10-minute timeout at 4. Points last 24 hours by default. Actions require appropriate permissions and role hierarchy.

/security mode value:enforce

Review and correct incidents with /cases, /case view, /case revoke and /untimeout. Revoking points does not reverse an action.

Control stored data

/security privacy retention_days:30 store_content:false

Cases are retained for 30 days by default, without message excerpts. Disabling store_content does not immediately remove old evidence. Read the privacy details before enabling message storage.

03 / Newcomers and raids

Anti-Raid starts watching after 5 joins in 10 seconds and stays active for 10 minutes by default. Screening checks accounts younger than 7 days. Account age is time since the Discord account was created, not a person's age.

/raid status
/screening setup channel:#waiting-room
/screening pending

To enable temporary restrictions, set the main mode to enforce and the subsystem mode to enforce. Screening also requires a waiting channel. The bot uses temporary timeouts and the operator must enable Server Members Intent.

/raid config mode:enforce
/screening config mode:enforce
/screening approve member:@member reason:Reviewed

Approval requires Manage Server and Moderate Members. It only releases timeouts owned by this system, without overriding restrictions from elsewhere.

03A / YouTube music in voice

Join a normal voice channel and use /play with an HTTPS link to one YouTube video. The bot joins your channel, or appends the track to the current queue.

/play link:https://www.youtube.com/watch?v=mlFxxNsExJc

You must be in the same normal voice channel as the bot to view or control playback. Starting playback requires View Channel, Connect, and Speak. Others in that channel can also control music.

Use /pause, /resume, /skip, /stop, /queue, /nowplaying, or the music card buttons. Cards show the title, cover, requester, voice channel, and queue. The progress display is a snapshot, not a live timer.

Defaults and inspected config: up to 30 tracks including the current and pending tracks; maximum 60 minutes per video; leave after 90 seconds without music or 60 seconds without human listeners. Each server plays in one channel. Queues are held in memory and reset on restart.

Supports public/unlisted videos accessible without login. Stage channels, live/upcoming streams, whole playlists, channels, age-restricted or members-only videos, and text searches are unsupported. YouTube may reject videos or connections.

The bot and requester need View Channel, Connect, and Speak. Update old invite permissions or reinvite through /about; Administrator is unnecessary. The host operator must install yt-dlp/FFmpeg. Contact the operator if playback fails.

Version 1.4.1 downloads audio before conversion/playback, so startup may take time. Preparation is limited to 120 seconds and 128 MiB per track. Premature audio endings are logged; manual skips or stops are not treated as errors.

03B / Anti-Nuke and role restoration

Observes Audit Log events for channel/role deletion, member bans, and dangerous permission grants. Defaults to alert and operates independently of chat security: disabling /security mode does not disable Anti-Nuke.

/antinuke status
/antinuke pending

Default thresholds per actor within 15 seconds: 3 channel deletions, 3 role deletions, 3 bans, 2 dangerous permission grants, or 5 mixed actions. Targets are deduplicated and same-actor incidents grouped for 60 seconds. Incomplete evidence or events over 120 seconds old are review-only.

Only the server owner can configure settings, manage trusted users, and restore roles. The bot needs View Audit Log, Manage Roles, a staff-only log channel, and a role above the actor. Enforce mode removes manageable dangerous roles after saving their original permissions.

/antinuke config mode:enforce
/antinuke trust action:list
/antinuke release member:@member reason:Reviewed confirm:true

Roles are not automatically restored after cooldown or restart. The owner must review and confirm; only successfully removed roles matching their snapshots can be restored. Deleted channels/messages/roles are not recovered, bans are not reversed, and permissions already granted to others are not revoked. Hierarchy and @everyone/channel permissions can limit containment.

04 / Every command in one place

30 root commands

Commands and parameters come from the bot v1.4.1 SlashCommandBuilder definitions. A <name> placeholder must be replaced with a real value or selection in Discord.

Showing 30 commands

/help

Show available commands and usage

General

Permissions: All members

/help

No additional parameters

/ping

Check bot status and response speed

General

Permissions: All members

/ping

No additional parameters

/about

View bot details and its invite link

General

Permissions: All members

/about

No additional parameters

/server

View this server's details

General

Permissions: All members

/server

No additional parameters

/user

View a member's details or your own

General

Permissions: All members

/user
Command parameters
ParameterDescription
memberOptional · memberMember to look up
/avatar

View a member's avatar

General

Permissions: All members

/avatar
Command parameters
ParameterDescription
memberOptional · memberMember whose avatar to view
/announce

Send an announcement to a selected channel

Moderation

Permissions: Manage Server (ManageGuild)

Announcements are visible to people with access to the destination channel. Use \\n for a line break.

/announce channel:<channel> title:<title> message:<message>
Command parameters
ParameterDescription
channelRequired · channelAnnouncement channel
titleRequired · textAnnouncement titleMaximum length: 256 characters
messageRequired · textAnnouncement text (use \\n for line breaks)Maximum length: 4000 characters
/clear

Delete recent messages under 14 days old, excluding pinned messages

Moderation

Permissions: Manage Messages

Inspects the latest 1–100 messages. Skips pinned messages and messages at least 14 days old. Fewer messages may be deleted than requested.

/clear amount:<amount>
Command parameters
ParameterDescription
amountRequired · integerNumber of recent messages to inspect (1–100)Range: 1 – 100
/timeout

Timeout a member for 1 minute to 28 days

Moderation

Permissions: Moderate Members

Duration: 1–40,320 minutes (28 days), subject to permissions and role hierarchy checks.

/timeout member:<member> minutes:<minutes>
Command parameters
ParameterDescription
memberRequired · memberMember to manage
minutesRequired · integerDuration in minutes (maximum 40320 = 28 days)Range: 1 – 40320
reasonOptional · textReason (recorded in Audit Log)Maximum length: 400 characters
/untimeout

Remove a member's timeout

Moderation

Permissions: Moderate Members

/untimeout member:<member>
Command parameters
ParameterDescription
memberRequired · memberMember to manage
reasonOptional · textReason (recorded in Audit Log)Maximum length: 400 characters
/kick

Kick a member; they can return with an invite

Moderation

Permissions: Kick Members

Runs immediately. The member may return with an invite if not banned.

/kick member:<member>
Command parameters
ParameterDescription
memberRequired · memberMember to manage
reasonOptional · textReason (recorded in Audit Log)Maximum length: 400 characters
/ban

Ban a member without deleting their existing messages

Moderation

Permissions: Ban Members

Bans without deleting old messages. Runs immediately.

/ban member:<member>
Command parameters
ParameterDescription
memberRequired · memberMember to manage
reasonOptional · textReason (recorded in Audit Log)Maximum length: 400 characters
/unban

Unban a member by User ID

Moderation

Permissions: Ban Members

/unban user_id:<user_id>
Command parameters
ParameterDescription
user_idRequired · textUser ID of the banned memberMaximum length: 20 characters
reasonOptional · textReason (recorded in Audit Log)Maximum length: 400 characters
/security

Configure and check per-server security

Security

Permissions: Manage Server (ManageGuild)

ManageGuild is shown as Manage Server in Discord. Privacy retention is 1–90 days; point lifetime must not exceed case retention.

/security status

View status and all rules

/security status

No additional parameters

/security setup

Set a staff-only Security Log channel

/security setup channel:<channel>
Command parameters
ParameterDescription
channelRequired · channelStaff-only channel

/security mode

Choose the operating mode

/security mode value:<value>
Command parameters
ParameterDescription
valueRequired · textalert: default / enforce: apply penalties / off: disable detection
Values: alert / enforce / off

/security spam

Configure Anti-Spam (omit options to view current settings)

/security spam
Command parameters
ParameterDescription
enabledOptional · true / falseEnable or disable
limitOptional · integerMessages allowed in the time window (3–50)Range: 3 – 50
windowOptional · integerTime window in seconds (3–60)Range: 3 – 60
repeatsOptional · integerRepeated messages counted as spam (2–20)Range: 2 – 20
cross_channelsOptional · integerNumber of channels with repeated text (2–10)Range: 2 – 10
emojisOptional · integerMaximum emojis per message (5–100)Range: 5 – 100

/security mentions

Configure Anti-Mention Spam

/security mentions
Command parameters
ParameterDescription
enabledOptional · true / falseEnable or disable
limitOptional · integerUser/role mentions allowed per message (1–50)Range: 1 – 50
everyoneOptional · integereveryone/here mentions allowed (0 prohibits them)Range: 0 – 10

/security links

Configure link filtering

/security links
Command parameters
ParameterDescription
enabledOptional · true / falseEnable or disable
block_invitesOptional · true / falseBlock Discord invites except allowed domains
block_unknownOptional · true / falseAllow only allowlisted domains (strict)

/security domain

Manage domain allowlists and blocklists

/security domain action:<action>
Command parameters
ParameterDescription
actionRequired · textAction
Values: allow / block / remove / list
domainOptional · textFor example, example.com (includes subdomains)Maximum length: 253 characters

/security exempt

Rule-specific channel or role exemptions

/security exempt rule:<rule> action:<action>
Command parameters
ParameterDescription
ruleRequired · textRule to configure
Values: spam / mentions / links
actionRequired · textAction
Values: add / remove / list
channelOptional · channelExempt this channel or category
roleOptional · roleExempt members with this role

/security policy

Configure warning → deletion → timeout points

/security policy
Command parameters
ParameterDescription
warn_atOptional · integerWarning thresholdRange: 1 – 20
delete_atOptional · integerDeletion threshold; must exceed warn_atRange: 2 – 30
timeout_atOptional · integerTimeout threshold; must exceed delete_atRange: 3 – 50
timeout_minutesOptional · integerTimeout duration in minutesRange: 1 – 40320
decay_hoursOptional · integerPoint lifetime in hours (1–720)Range: 1 – 720
incident_secondsOptional · integerCombine incidents for the same user within this many seconds (5–300)Range: 5 – 300
notify_dmOptional · true / falseNotify members by DM when action is taken

/security privacy

History retention and message content storage

/security privacy
Command parameters
ParameterDescription
retention_daysOptional · integerCase retention in days (1–90)Range: 1 – 90
store_contentOptional · true / falseStore up to 500 characters of detected messages (off by default)

/security health

Check bot permissions, log channel, and locks needing review

/security health

No additional parameters

/warn

Record a warning and add 1 point

Security

Permissions: Moderate Members

Manually adds 1 point. This warning does not immediately trigger automatic penalties.

/warn member:<member> reason:<reason>
Command parameters
ParameterDescription
memberRequired · memberMembers
reasonRequired · textReasonMaximum length: 400 characters
/cases

View warnings and incidents in this server

Security

Permissions: Moderate Members

/cases
Command parameters
ParameterDescription
memberOptional · memberFilter by member
pageOptional · integerPage to displayRange: 1 – 10000
/case

View case details or revoke its points

Security

Permissions: Moderate Members

Revoke only removes points. Evidence stays; it neither lifts timeouts nor restores deleted messages.

/case view

Case details

/case view number:<number>
Command parameters
ParameterDescription
numberRequired · integerCase number in this serverRange: 1 – no maximum

/case revoke

Revoke points but keep evidence and edit history

/case revoke number:<number> reason:<reason>
Command parameters
ParameterDescription
numberRequired · integerCase numberRange: 1 – no maximum
reasonRequired · textReasonMaximum length: 400 characters
/lock

Temporarily lock a channel, saving permissions for restoration

Security

Permissions: Manage Channels + Manage Roles

Defaults to 15 minutes; range 1–1,440 minutes. Saves original permissions. Administrators can still send messages.

/lock
Command parameters
ParameterDescription
channelOptional · channelTarget channel (defaults to this channel)
minutesOptional · integerAutomatically unlock after this many minutes (default 15)Range: 1 – 1440
reasonOptional · textReasonMaximum length: 400 characters
/unlock

Unlock a channel by restoring its previous permissions

Security

Permissions: Manage Channels + Manage Roles

Conflicting permission changes made during a lock are preserved for review before choosing force:true.

/unlock
Command parameters
ParameterDescription
channelOptional · channelTarget channel (defaults to this channel)
forceOptional · true / falseConfirm restoring original send-permission bits despite changes during the lock
reasonOptional · textReasonMaximum length: 400 characters
/lockdown

Lock or unlock multiple channels in a category or server

Security

Permissions: Manage Channels + Manage Roles

Requires confirm:true. Limited to 50 channels at a time and skips the Security Log channel.

/lockdown action:<action> scope:<scope> confirm:<confirm>
Command parameters
ParameterDescription
actionRequired · textAction
Values: lock / unlock
scopeRequired · textScope
Values: server / category
confirmRequired · true / falseConfirm changing permissions in multiple channels
categoryOptional · channelSelect when scope is category
minutesOptional · integerLock duration in minutes (default 15)Range: 1 – 1440
reasonOptional · textReasonMaximum length: 400 characters
/raid

Configure and manage unusual bursts of server joins

Newcomers

Permissions: Manage Server (ManageGuild)

Requires Manage Server. end release:true also requires Moderate Members. Both main and Raid modes must be enforce for automatic restrictions.

/raid status

View Anti-Raid and newcomer status

/raid status

No additional parameters

/raid config

Configure Anti-Raid for this server

/raid config
Command parameters
ParameterDescription
modeOptional · textObserve / act when the main mode is enforce / disable
Values: alert / enforce / off
limitOptional · integerNumber of joins considered unusual (3–100)Range: 3 – 100
windowOptional · integerJoin-counting window in seconds (5–120)Range: 5 – 120
active_minutesOptional · integerHow long to watch for a raid in minutes (1–60)Range: 1 – 60
timeout_minutesOptional · integerNewcomer timeout in minutes (1–1440)Range: 1 – 1440

/raid end

End the current raid and optionally release restrictions owned by this system

/raid end
Command parameters
ParameterDescription
releaseOptional · true / falseRelease raid-only restrictions (requires Moderate Members)
reasonOptional · textReasonMaximum length: 400 characters
/screening

Per-server waiting room and newcomer screening

Newcomers

Permissions: Manage Server (ManageGuild)

Approval requires Manage Server and Moderate Members. Automatic restrictions require main and screening modes set to enforce and a waiting channel.

/screening status

View screening status

/screening status

No additional parameters

/screening setup

Set a waiting channel and post an instructions card

/screening setup channel:<channel>
Command parameters
ParameterDescription
channelRequired · channelText channel newcomers can read

/screening config

Configure newcomer screening conditions

/screening config
Command parameters
ParameterDescription
modeOptional · textObserve / act when the main mode is enforce / disable
Values: alert / enforce / off
min_age_daysOptional · integerMinimum account age in days (1–90)Range: 1 – 90
all_membersOptional · true / falseReview all newcomers, rather than only young accounts
timeout_minutesOptional · integerReview timeout in minutes (1–1440)Range: 1 – 1440
notify_dmOptional · true / falseDM instructions when a member is restricted

/screening pending

List members awaiting review in this server

/screening pending
Command parameters
ParameterDescription
pageOptional · integerPage to displayRange: 1 – 10000

/screening approve

Approve and remove this system's timeout (requires Moderate Members)

/screening approve member:<member> reason:<reason>
Command parameters
ParameterDescription
memberRequired · memberMember awaiting review
reasonRequired · textReasonMaximum length: 400 characters
/antinuke

Detect and contain destructive server actions from Audit Log

Security

Permissions: Manage Server (ManageGuild)

Status/pending require Manage Server. Config/trust/release additionally require the server owner. Anti-Nuke mode is independent of /security mode; release requires confirm:true.

/antinuke status

View Anti-Nuke status and detection thresholds

/antinuke status

No additional parameters

/antinuke config

Server owner: configure Anti-Nuke

/antinuke config
Command parameters
ParameterDescription
modeOptional · textAnti-Nuke mode, independent of chat security
Values: alert / enforce / off
windowOptional · integerEvent-counting window in seconds (5–120)Range: 5 – 120
channel_deletesOptional · integerChannel deletion threshold (1–20)Range: 1 – 20
role_deletesOptional · integerRole deletion threshold (1–20)Range: 1 – 20
bansOptional · integerMember ban threshold (1–20)Range: 1 – 20
permission_grantsOptional · integerDangerous permission grant threshold (1–20)Range: 1 – 20
mixed_limitOptional · integerCombined dangerous event threshold (2–50)Range: 2 – 50
cooldownOptional · integerCombine same-actor incidents within this many seconds (15–600)Range: 15 – 600

/antinuke trust

Server owner: manage Anti-Nuke exemptions

/antinuke trust action:<action>
Command parameters
ParameterDescription
actionRequired · textAction
Values: add / remove / list
memberOptional · memberMember or bot to add/remove

/antinuke pending

View incidents requiring owner review

/antinuke pending
Command parameters
ParameterDescription
pageOptional · integerPage to displayRange: 1 – 10000

/antinuke release

Owner restores only roles removed by Anti-Nuke, checking current permissions

/antinuke release member:<member> reason:<reason> confirm:<confirm>
Command parameters
ParameterDescription
memberRequired · memberMember whose roles were removed by the system
reasonRequired · textReason after reviewing the incidentMaximum length: 400 characters
confirmRequired · true / falseConfirm restoring dangerous roles to this member
/play

Join your voice channel and play a YouTube video link

Music

Permissions: All members

You must be in the same normal voice channel as the bot to view or control playback. Starting playback requires View Channel, Connect, and Speak. Others in that channel can also control music.

/play link:<link>
Command parameters
ParameterDescription
linkRequired · textYouTube video link to playMaximum length: 200 characters
/pause

Pause music in the voice channel shared with the bot

Music

Permissions: All members

You must be in the same normal voice channel as the bot to view or control playback. Starting playback requires View Channel, Connect, and Speak. Others in that channel can also control music.

/pause

No additional parameters

/resume

Resume paused music

Music

Permissions: All members

You must be in the same normal voice channel as the bot to view or control playback. Starting playback requires View Channel, Connect, and Speak. Others in that channel can also control music.

/resume

No additional parameters

/skip

Skip the current track and play the next queued track

Music

Permissions: All members

You must be in the same normal voice channel as the bot to view or control playback. Starting playback requires View Channel, Connect, and Speak. Others in that channel can also control music.

/skip

No additional parameters

/stop

Stop music, clear the queue, and leave the voice channel

Music

Permissions: All members

You must be in the same normal voice channel as the bot to view or control playback. Starting playback requires View Channel, Connect, and Speak. Others in that channel can also control music.

/stop

No additional parameters

/queue

View the current track and voice channel queue

Music

Permissions: All members

You must be in the same normal voice channel as the bot to view or control playback. Starting playback requires View Channel, Connect, and Speak. Others in that channel can also control music.

/queue

No additional parameters

/nowplaying

View current playback with control buttons

Music

Permissions: All members

You must be in the same normal voice channel as the bot to view or control playback. Starting playback requires View Channel, Connect, and Speak. Others in that channel can also control music.

/nowplaying

No additional parameters

05 / Any questions?

Commands are missing or permissions are denied

Check the bot and applications.commands invite scopes, Use Application Commands permission, and channel access. Global commands may take time to appear. Try restarting Discord. Moderators need the command's permissions and a role above the target member.

Is the bot always online?

This site does not show live uptime. The bot runs separately on an internet-connected computer or host. Cloudflare Pages hosts this website. Use /ping in Discord to check whether the bot responds.

What if detection is wrong?

Ask server staff to review the case and exemptions. Use /case revoke to revoke points and /untimeout to remove a timeout when appropriate. These commands cannot restore deleted messages.

Delete data or contact the bot operator

Contact the Mizuki Bot operator through Discord Support ↗ (opens a new tab). Provide only the necessary User ID, Server ID, and request details. Never send passwords or Bot Tokens.

There is no automatic data-deletion command. Read how to request data management