Pauses automatic detection. Manual warnings, history, and unlock commands remain available.
Start with confidence
Moderate your way
From inviting the bot to fine-tuning your server's security rules.
01 / Welcome Mizuki to your server
- Invite Mizuki Bot ↗ (opens a new tab) Choose a server you are authorized to manage, review the requested permissions, and approve.
- Go to Server Settings → Roles. Place the bot's role above the members it will manage and allow access to the relevant channels.
- Type
/helpin your server to see commands available to you. Use/pingto 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 statusThe dashboard includes Overview / Rules / Points / Data / Members / Anti-Nuke. Manage Server is checked again on each interaction.
Detects and records cases without automatic incident points, message deletion, or timeouts.
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:enforceReview 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:falseCases 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 pendingTo 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:ReviewedApproval 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=mlFxxNsExJcYou 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 pendingDefault 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:trueRoles 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 commandsCommands 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
/helpShow available commands and usage
General
/helpShow available commands and usage
/helpNo additional parameters
/pingCheck bot status and response speed
General
/pingCheck bot status and response speed
/pingNo additional parameters
/aboutView bot details and its invite link
General
/aboutView bot details and its invite link
/aboutNo additional parameters
/serverView this server's details
General
/serverView this server's details
/serverNo additional parameters
/userView a member's details or your own
General
/userView a member's details or your own
/user| Parameter | Description |
|---|---|
memberOptional · member | Member to look up |
/avatarView a member's avatar
General
/avatarView a member's avatar
/avatar| Parameter | Description |
|---|---|
memberOptional · member | Member whose avatar to view |
/announceSend an announcement to a selected channel
Moderation
/announceSend an announcement to a selected channel
Announcements are visible to people with access to the destination channel. Use \\n for a line break.
/announce channel:<channel> title:<title> message:<message>| Parameter | Description |
|---|---|
channelRequired · channel | Announcement channel |
titleRequired · text | Announcement titleMaximum length: 256 characters |
messageRequired · text | Announcement text (use \\n for line breaks)Maximum length: 4000 characters |
/clearDelete recent messages under 14 days old, excluding pinned messages
Moderation
/clearDelete recent messages under 14 days old, excluding pinned 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>| Parameter | Description |
|---|---|
amountRequired · integer | Number of recent messages to inspect (1–100)Range: 1 – 100 |
/timeoutTimeout a member for 1 minute to 28 days
Moderation
/timeoutTimeout a member for 1 minute to 28 days
Duration: 1–40,320 minutes (28 days), subject to permissions and role hierarchy checks.
/timeout member:<member> minutes:<minutes>| Parameter | Description |
|---|---|
memberRequired · member | Member to manage |
minutesRequired · integer | Duration in minutes (maximum 40320 = 28 days)Range: 1 – 40320 |
reasonOptional · text | Reason (recorded in Audit Log)Maximum length: 400 characters |
/untimeoutRemove a member's timeout
Moderation
/untimeoutRemove a member's timeout
/untimeout member:<member>| Parameter | Description |
|---|---|
memberRequired · member | Member to manage |
reasonOptional · text | Reason (recorded in Audit Log)Maximum length: 400 characters |
/kickKick a member; they can return with an invite
Moderation
/kickKick a member; they can return with an invite
Runs immediately. The member may return with an invite if not banned.
/kick member:<member>| Parameter | Description |
|---|---|
memberRequired · member | Member to manage |
reasonOptional · text | Reason (recorded in Audit Log)Maximum length: 400 characters |
/banBan a member without deleting their existing messages
Moderation
/banBan a member without deleting their existing messages
Bans without deleting old messages. Runs immediately.
/ban member:<member>| Parameter | Description |
|---|---|
memberRequired · member | Member to manage |
reasonOptional · text | Reason (recorded in Audit Log)Maximum length: 400 characters |
/unbanUnban a member by User ID
Moderation
/unbanUnban a member by User ID
/unban user_id:<user_id>| Parameter | Description |
|---|---|
user_idRequired · text | User ID of the banned memberMaximum length: 20 characters |
reasonOptional · text | Reason (recorded in Audit Log)Maximum length: 400 characters |
/securityConfigure and check per-server security
Security
/securityConfigure and check per-server security
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 statusNo additional parameters
/security setup
Set a staff-only Security Log channel
/security setup channel:<channel>| Parameter | Description |
|---|---|
channelRequired · channel | Staff-only channel |
/security mode
Choose the operating mode
/security mode value:<value>| Parameter | Description |
|---|---|
valueRequired · text | alert: default / enforce: apply penalties / off: disable detection Values: alert / enforce / off |
/security spam
Configure Anti-Spam (omit options to view current settings)
/security spam| Parameter | Description |
|---|---|
enabledOptional · true / false | Enable or disable |
limitOptional · integer | Messages allowed in the time window (3–50)Range: 3 – 50 |
windowOptional · integer | Time window in seconds (3–60)Range: 3 – 60 |
repeatsOptional · integer | Repeated messages counted as spam (2–20)Range: 2 – 20 |
cross_channelsOptional · integer | Number of channels with repeated text (2–10)Range: 2 – 10 |
emojisOptional · integer | Maximum emojis per message (5–100)Range: 5 – 100 |
/security mentions
Configure Anti-Mention Spam
/security mentions| Parameter | Description |
|---|---|
enabledOptional · true / false | Enable or disable |
limitOptional · integer | User/role mentions allowed per message (1–50)Range: 1 – 50 |
everyoneOptional · integer | everyone/here mentions allowed (0 prohibits them)Range: 0 – 10 |
/security links
Configure link filtering
/security links| Parameter | Description |
|---|---|
enabledOptional · true / false | Enable or disable |
block_invitesOptional · true / false | Block Discord invites except allowed domains |
block_unknownOptional · true / false | Allow only allowlisted domains (strict) |
/security domain
Manage domain allowlists and blocklists
/security domain action:<action>| Parameter | Description |
|---|---|
actionRequired · text | Action Values: allow / block / remove / list |
domainOptional · text | For example, example.com (includes subdomains)Maximum length: 253 characters |
/security exempt
Rule-specific channel or role exemptions
/security exempt rule:<rule> action:<action>| Parameter | Description |
|---|---|
ruleRequired · text | Rule to configure Values: spam / mentions / links |
actionRequired · text | Action Values: add / remove / list |
channelOptional · channel | Exempt this channel or category |
roleOptional · role | Exempt members with this role |
/security policy
Configure warning → deletion → timeout points
/security policy| Parameter | Description |
|---|---|
warn_atOptional · integer | Warning thresholdRange: 1 – 20 |
delete_atOptional · integer | Deletion threshold; must exceed warn_atRange: 2 – 30 |
timeout_atOptional · integer | Timeout threshold; must exceed delete_atRange: 3 – 50 |
timeout_minutesOptional · integer | Timeout duration in minutesRange: 1 – 40320 |
decay_hoursOptional · integer | Point lifetime in hours (1–720)Range: 1 – 720 |
incident_secondsOptional · integer | Combine incidents for the same user within this many seconds (5–300)Range: 5 – 300 |
notify_dmOptional · true / false | Notify members by DM when action is taken |
/security privacy
History retention and message content storage
/security privacy| Parameter | Description |
|---|---|
retention_daysOptional · integer | Case retention in days (1–90)Range: 1 – 90 |
store_contentOptional · true / false | Store up to 500 characters of detected messages (off by default) |
/security health
Check bot permissions, log channel, and locks needing review
/security healthNo additional parameters
/warnRecord a warning and add 1 point
Security
/warnRecord a warning and add 1 point
Manually adds 1 point. This warning does not immediately trigger automatic penalties.
/warn member:<member> reason:<reason>| Parameter | Description |
|---|---|
memberRequired · member | Members |
reasonRequired · text | ReasonMaximum length: 400 characters |
/casesView warnings and incidents in this server
Security
/casesView warnings and incidents in this server
/cases| Parameter | Description |
|---|---|
memberOptional · member | Filter by member |
pageOptional · integer | Page to displayRange: 1 – 10000 |
/caseView case details or revoke its points
Security
/caseView case details or revoke its points
Revoke only removes points. Evidence stays; it neither lifts timeouts nor restores deleted messages.
/case view
Case details
/case view number:<number>| Parameter | Description |
|---|---|
numberRequired · integer | Case number in this serverRange: 1 – no maximum |
/case revoke
Revoke points but keep evidence and edit history
/case revoke number:<number> reason:<reason>| Parameter | Description |
|---|---|
numberRequired · integer | Case numberRange: 1 – no maximum |
reasonRequired · text | ReasonMaximum length: 400 characters |
/lockTemporarily lock a channel, saving permissions for restoration
Security
/lockTemporarily lock a channel, saving permissions for restoration
Defaults to 15 minutes; range 1–1,440 minutes. Saves original permissions. Administrators can still send messages.
/lock| Parameter | Description |
|---|---|
channelOptional · channel | Target channel (defaults to this channel) |
minutesOptional · integer | Automatically unlock after this many minutes (default 15)Range: 1 – 1440 |
reasonOptional · text | ReasonMaximum length: 400 characters |
/unlockUnlock a channel by restoring its previous permissions
Security
/unlockUnlock a channel by restoring its previous permissions
Conflicting permission changes made during a lock are preserved for review before choosing force:true.
/unlock| Parameter | Description |
|---|---|
channelOptional · channel | Target channel (defaults to this channel) |
forceOptional · true / false | Confirm restoring original send-permission bits despite changes during the lock |
reasonOptional · text | ReasonMaximum length: 400 characters |
/lockdownLock or unlock multiple channels in a category or server
Security
/lockdownLock or unlock multiple channels in a category or server
Requires confirm:true. Limited to 50 channels at a time and skips the Security Log channel.
/lockdown action:<action> scope:<scope> confirm:<confirm>| Parameter | Description |
|---|---|
actionRequired · text | Action Values: lock / unlock |
scopeRequired · text | Scope Values: server / category |
confirmRequired · true / false | Confirm changing permissions in multiple channels |
categoryOptional · channel | Select when scope is category |
minutesOptional · integer | Lock duration in minutes (default 15)Range: 1 – 1440 |
reasonOptional · text | ReasonMaximum length: 400 characters |
/raidConfigure and manage unusual bursts of server joins
Newcomers
/raidConfigure and manage unusual bursts of server joins
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 statusNo additional parameters
/raid config
Configure Anti-Raid for this server
/raid config| Parameter | Description |
|---|---|
modeOptional · text | Observe / act when the main mode is enforce / disable Values: alert / enforce / off |
limitOptional · integer | Number of joins considered unusual (3–100)Range: 3 – 100 |
windowOptional · integer | Join-counting window in seconds (5–120)Range: 5 – 120 |
active_minutesOptional · integer | How long to watch for a raid in minutes (1–60)Range: 1 – 60 |
timeout_minutesOptional · integer | Newcomer timeout in minutes (1–1440)Range: 1 – 1440 |
/raid end
End the current raid and optionally release restrictions owned by this system
/raid end| Parameter | Description |
|---|---|
releaseOptional · true / false | Release raid-only restrictions (requires Moderate Members) |
reasonOptional · text | ReasonMaximum length: 400 characters |
/screeningPer-server waiting room and newcomer screening
Newcomers
/screeningPer-server waiting room and newcomer screening
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 statusNo additional parameters
/screening setup
Set a waiting channel and post an instructions card
/screening setup channel:<channel>| Parameter | Description |
|---|---|
channelRequired · channel | Text channel newcomers can read |
/screening config
Configure newcomer screening conditions
/screening config| Parameter | Description |
|---|---|
modeOptional · text | Observe / act when the main mode is enforce / disable Values: alert / enforce / off |
min_age_daysOptional · integer | Minimum account age in days (1–90)Range: 1 – 90 |
all_membersOptional · true / false | Review all newcomers, rather than only young accounts |
timeout_minutesOptional · integer | Review timeout in minutes (1–1440)Range: 1 – 1440 |
notify_dmOptional · true / false | DM instructions when a member is restricted |
/screening pending
List members awaiting review in this server
/screening pending| Parameter | Description |
|---|---|
pageOptional · integer | Page to displayRange: 1 – 10000 |
/screening approve
Approve and remove this system's timeout (requires Moderate Members)
/screening approve member:<member> reason:<reason>| Parameter | Description |
|---|---|
memberRequired · member | Member awaiting review |
reasonRequired · text | ReasonMaximum length: 400 characters |
/antinukeDetect and contain destructive server actions from Audit Log
Security
/antinukeDetect and contain destructive server actions from Audit Log
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 statusNo additional parameters
/antinuke config
Server owner: configure Anti-Nuke
/antinuke config| Parameter | Description |
|---|---|
modeOptional · text | Anti-Nuke mode, independent of chat security Values: alert / enforce / off |
windowOptional · integer | Event-counting window in seconds (5–120)Range: 5 – 120 |
channel_deletesOptional · integer | Channel deletion threshold (1–20)Range: 1 – 20 |
role_deletesOptional · integer | Role deletion threshold (1–20)Range: 1 – 20 |
bansOptional · integer | Member ban threshold (1–20)Range: 1 – 20 |
permission_grantsOptional · integer | Dangerous permission grant threshold (1–20)Range: 1 – 20 |
mixed_limitOptional · integer | Combined dangerous event threshold (2–50)Range: 2 – 50 |
cooldownOptional · integer | Combine same-actor incidents within this many seconds (15–600)Range: 15 – 600 |
/antinuke trust
Server owner: manage Anti-Nuke exemptions
/antinuke trust action:<action>| Parameter | Description |
|---|---|
actionRequired · text | Action Values: add / remove / list |
memberOptional · member | Member or bot to add/remove |
/antinuke pending
View incidents requiring owner review
/antinuke pending| Parameter | Description |
|---|---|
pageOptional · integer | Page 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>| Parameter | Description |
|---|---|
memberRequired · member | Member whose roles were removed by the system |
reasonRequired · text | Reason after reviewing the incidentMaximum length: 400 characters |
confirmRequired · true / false | Confirm restoring dangerous roles to this member |
/playJoin your voice channel and play a YouTube video link
Music
/playJoin your voice channel and play a YouTube video link
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>| Parameter | Description |
|---|---|
linkRequired · text | YouTube video link to playMaximum length: 200 characters |
/pausePause music in the voice channel shared with the bot
Music
/pausePause music in the voice channel shared with the bot
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.
/pauseNo additional parameters
/resumeResume paused music
Music
/resumeResume paused music
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.
/resumeNo additional parameters
/skipSkip the current track and play the next queued track
Music
/skipSkip the current track and play the next queued track
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.
/skipNo additional parameters
/stopStop music, clear the queue, and leave the voice channel
Music
/stopStop music, clear the queue, and leave the voice channel
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.
/stopNo additional parameters
/queueView the current track and voice channel queue
Music
/queueView the current track and voice channel queue
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.
/queueNo additional parameters
/nowplayingView current playback with control buttons
Music
/nowplayingView current playback with control buttons
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.
/nowplayingNo additional parameters
No commands found. Try another search or category.
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