Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/developer51709/Niko/llms.txt

Use this file to discover all available pages before exploring further.

Niko includes a complete moderation suite for server staff, from basic kick/ban commands to an interactive AutoMod dashboard with anti-spam, link filters, bad-word scanning, and raid protection. All member-action commands present a Confirm / Cancel prompt before taking effect, ensuring staff can’t accidentally act on the wrong member.
Most moderation commands require the Manage Members or Administrator permission. Channel-management commands require Manage Channels. The AutoMod dashboard and whitelist require Manage Server.

Member Actions

Commands sourced from src/cogs/moderation/_members.py.
CommandDescription
/kick <member> [reason]Kick a member from the server. The reason is written to the Discord audit log. A confirmation prompt is shown before the action is taken.
/ban <member> [reason]Ban a member. The last 7 days of their messages are deleted. Requires Ban Members permission.
/unban <user_id> [reason]Unban a previously banned user by their Discord ID.
/warn <member> <reason>Issue a formal warning. Warnings are stored in the database with a timestamp and the moderator’s ID.
/warnings <member>View all active warnings for a member, listed with the issuing moderator and timestamp.
/clearwarnings <member>Clear all warnings for a member. Requires Moderate Members.
/mute <member> [reason]Apply Discord’s native timeout to a member indefinitely until manually removed.
/tempmute <member> <duration> [reason]Apply a timeout for a specified number of seconds (e.g. 300 = 5 minutes).
/unmute <member>Remove an active timeout from a member.
/nick <member> <nickname>Change a member’s server nickname. Requires Manage Nicknames.
All member actions are logged to the mod-log channel (see Logging below) automatically.

Message Management

Commands sourced from src/cogs/moderation/_messages.py.
CommandDescription
/purge <amount>Bulk-delete the last N messages in the current channel (max 100 per call). Requires Manage Messages.
/purge user <member> <amount>Delete up to N recent messages from a specific member in the current channel.
Purges are chunked internally to stay within Discord’s bulk-delete rate limits.

Channel Management

Commands sourced from src/cogs/moderation/_channels.py.
CommandDescription
/slowmode <seconds>Set the channel’s slowmode delay. Pass 0 to disable. Maximum is 21600 (6 hours). Requires Manage Channels.
/lockDeny Send Messages for @everyone in the current channel, effectively locking it. Requires Manage Channels.
/unlockRestore the default Send Messages permission for @everyone, reopening the channel.
Both /lock and /unlock are logged to the channel-events category of the mod-log.

Logging

Niko’s logging system is configured through the logging command group (sourced from src/cogs/logging/cog.py). It supports per-category channels so you can route different event types to different channels.
CommandDescription
loggingOpen the interactive server logging configuration panel. Requires Manage Server.
logging statusShow the current logging configuration: which channel each category is routed to and whether it is enabled or disabled.
Events logged automatically:
  • Member joined / left the server (including which invite was used)
  • Message edited (before & after content)
  • Message deleted (with attachment re-upload if cached)
  • Member banned / unbanned
  • Member timed out / timeout removed
  • Channel created, deleted, or updated
  • Role created, deleted, or updated
  • Voice channel join, leave, and move
  • Nickname changed
  • Invite created / deleted
  • Server settings updated (name, icon, banner, verification level, etc.)
The legacy setmodlog command still exists but redirects you to use logging instead. It will be removed in a future update.

Bad Words Filter

Managed separately from AutoMod, the bad-words list lets you block specific terms at the server level.
CommandDescription
/badwordsList all currently blocked words for this server.
/badwords add <word>Add a word to the blocked list.
/badwords remove <word>Remove a word from the blocked list.
/badwords clearClear all blocked words for this server.
All commands require Manage Server.

AutoMod Dashboard

AutoMod is accessed via the automod prefix command, which opens an interactive Components v2 dashboard. The dashboard exposes all AutoMod toggles and thresholds without requiring slash commands. Requires Manage Server. Features configurable in the dashboard:
  • Anti-spam — Detects and deletes rapid message bursts from a single user. When the spam threshold is reached the message is deleted and the member is auto-muted for 60 seconds.
  • Anti-link — Blocks external Discord invite URLs. Matching messages are deleted and the event is logged.
  • Bad words filter — Scans message content against the server’s blocked_words list (managed via /badwords). Matching messages are deleted silently.
  • Mass mention protection — Warns and auto-mutes (120s) users who @mention a configurable number of users in a single message, including @everyone.
  • Anti-raid (join flood) — Monitors join velocity. When the join threshold is reached within the configured interval, Niko takes the configured action (kick, ban, softban, slowmode, or lockdown) against recently joined members and DMs the server owner.
  • Anti-nuke — Monitors audit log entries for suspicious mass actions (mass ban, mass channel delete, mass role delete, etc.) by a single user. When a threshold is reached, the offending member is actioned (strip dangerous roles, kick, or ban) and the server owner is notified.
  • External app / interaction flood protection — Detects user-installed external application commands being abused in your server and monitors interaction floods from recently-joined members. Takes the configured action against the operator and raiding accounts.

Whitelist

Whitelisted users and roles are exempt from all AutoMod rules.
CommandDescription
/whitelistView the current AutoMod whitelist (users and roles).
/whitelist add user <@member>Exempt a user from all AutoMod checks.
/whitelist add role <@role>Exempt an entire role from all AutoMod checks.
/whitelist remove user <@member>Remove a user from the whitelist.
/whitelist remove role <@role>Remove a role from the whitelist.
Alias: wl (e.g. wl add user …, wl remove role …).

Onboarding / Verification

Sourced from src/cogs/onboarding/cog.py. All subcommands require Administrator.
CommandDescription
onboarding setupOpen the interactive onboarding configuration panel. Configure welcome messages, rules acknowledgement gate, and auto-roles.
onboarding role-menuCreate and manage interactive role-selection menus that members can use to self-assign roles.
onboarding autorolesConfigure which roles are automatically granted to every new member on join.
onboarding captchaConfigure CAPTCHA verification. Members must solve an image CAPTCHA sent to their DMs; on success, configured roles are added/removed. On failure (3 wrong attempts), the member can be kicked automatically.
What you can configure:
  • Welcome message channel and message content
  • Rules acknowledgement gate (member clicks a button to receive a role)
  • CAPTCHA difficulty and the roles to grant/remove on pass
  • Auto-assigned roles on every new join (with built-in rate limiting to survive raids)

VoiceMaster

Sourced from src/cogs/voicemaster/cog.py. Provides dynamic “Join to Create” temporary voice channels. Aliases: j2c, vm, join2create.
CommandDescription
voicemaster setupAutomatically creates a “Niko | VoiceMaster” category with a “Join to Create” voice channel. Members who join that channel immediately get their own private temporary voice channel. Requires Manage Server.
voicemaster sendinterfacePost the persistent VoiceMaster control panel in the current channel. Requires Manage Server.
voicemaster resetRemove all VoiceMaster configuration and temporary channels for the server. Requires Manage Server.
voicemaster category [category]Set the Discord category where temporary voice channels are created. Requires Manage Server.
voicemaster lockLock your temporary voice channel (prevent new members from joining).
voicemaster unlockUnlock your temporary voice channel.
voicemaster ghostHide your voice channel from the channel list.
voicemaster unghostReveal your hidden voice channel.
voicemaster claimClaim ownership of a temporary channel whose owner has left.
voicemaster limit <number>Set the user limit for your voice channel (0–99; 0 = unlimited).
voicemaster name <name>Rename your temporary voice channel.
voicemaster bitrate <kbps>Set the bitrate for your voice channel (8–384 kbps).
voicemaster transfer <member>Transfer ownership of your channel to another member currently in it.
voicemaster permit <member/role>Allow a specific member or role to join your locked channel.
voicemaster reject <member/role>Block a specific member or role from joining your channel.
voicemaster disconnect <member>Force-disconnect a member from your channel.
voicemaster status [text]Set a status message visible on your voice channel. Omit text to clear it.
voicemaster configurationView your current channel’s details (owner, member count, limit, bitrate, region, status).
voicemaster defaultView the current default settings for new temporary channels. Requires Manage Server.
voicemaster default name <name>Set the default name applied to every newly created temporary channel.
voicemaster default limit <number>Set the default user limit for new temporary channels.
voicemaster default bitrate <kbps>Set the default bitrate for new temporary channels.
voicemaster default region [region]Set the default voice region for new temporary channels.
The VoiceMaster Interface panel (posted by sendinterface) provides one-click buttons for lock, unlock, hide, reveal, claim, disconnect, info, increase limit, and decrease limit — all usable directly without typing a command. Temporary channels are cleaned up automatically when the last member leaves.

Build docs developers (and LLMs) love