Command & System Reference
Every configurable system in mainmega2.py, what each one stores, its command surface, and where it can be managed. Built directly from the source — not a guess.
Per-server
Bot-owner / global
On the web dashboard
Discord-only (no dashboard yet)
Anti-Nuke
Per-serverOn dashboard
Real-time protection against mass bans/kicks, unauthorized channel/role/webhook/emoji changes, and bot adds. Stored on a remote PHP/MySQL backend (get_antinuke.php / save_antinuke.php), cached locally and refreshed by a background coroutine so it never blocks the gateway.
Commands
| Command | What it controls |
| !antinuke setup | Creates the config, the two log channels (antinuke_logs, antinuke_univ), and default state. |
| !antinuke enable / disable | Master on/off toggle — enabled. |
| !antinuke punishment ban|kick | What happens to a violator — punishment_type. |
| !antinuke module <name> | Toggles one of the 8 modules on/off — modules.{name}. |
| !antinuke trusted add/remove | Users immune to Anti-Nuke, can also edit this config — trusted_admins. |
| !antinuke whitelist add/remove | Bypasses checks for one specific module only — whitelists.{module}. |
Fields: enabled · punishment_type (ban/kick) · modules {channels, roles, bans, kicks, server_update, emoji, webhooks, bot_add} · trusted_admins [] · whitelists {module → []} · log_channels · violations []
AutoMod
Per-serverPartial (pause/resume)
Automated content/behavior filtering (spam, mention spam, etc). Same remote-backend pattern as Anti-Nuke. Full enable requires a guided setup wizard (creates channels), so only pause/resume is exposed on the dashboard today.
Commands
| Command | What it controls |
| !automod enable | Full setup wizard — permission check + creates log channels. Discord only |
| !automod pause/resume | Temporarily stop enforcement without disabling — paused, paused_by, paused_timestamp. |
| !automodwarnreset | Clears one user's AutoMod violation count. |
| !fixautomod / !testmentionspam | Admin-only debug/test tools. |
Fields: enabled · paused · trusted_admins · automod_rules {rule → bool} · log_channels · violations {user_id → count}
Global Moderation & Staff Ranks
Per-serverOn dashboard
The bot's own permission tier system, independent of Discord roles. Three ranks per server, each with a hard cap. Everything below (warn/mute/ban/etc) checks this hierarchy once a server has run !modsetup — before that, it falls back to native Discord permissions (Administrator / Ban Members / Kick Members / Moderate Members).
Rank hierarchy
| Rank | Cap | Commands |
| Trusted (rank 3) | Max 2 per server | !addtrusted · can add/remove admins & mods, edit Anti-Nuke |
| Admin (rank 2) | Max 5 per server | !addadmin · full mod actions, ignore-channel management |
| Mod (rank 1) | Max 20 per server | !addmod · warn/mute/kick-tier actions |
Fields: setup (bool) · log_channel · trusted [] · admins [] · mods []
Moderation action commands
| Command | Rank | Fields logged |
| !warn / !warnremove / !resetwarns | Mod+ | warn_id, reason, warned_by, warned_at |
| !superwarn / !superwarnrem | Admin+ | Escalated warning tier, same store, flagged severity |
| !mute / !unmute | Mod+ | mute_id, duration, unmute_at, active |
| !ban / !kick | Mod+/Admin+ | Live Discord state — dashboard Bans tab reads this directly, not a cache |
| !caseinfo <id> | Mod+ | Looks up a case by ID from the unified case log — every action above shares one ID counter per server |
| !modlogs / !warnlogs / !mutelogs | Mod+ | Per-user action history |
| !immuneuni | Trusted | Users immune to moderation actions entirely (bot-wide list) |
| !exportmutes/warns/immune | Admin+ | Dumps a data file |
Cooldowns & bot-level timeout Owner only
| Command | What it controls |
| !cooldown add/remove/list/check/clear | Bot-wide whitelist that bypasses all command cooldowns — not per-server. |
| !bottimeout add/remove/list | Blocks a user from using any bot command for N minutes, bot-wide. |
AutoRole
Per-serverOn dashboard
Roles auto-assigned when someone joins, split into two independent slots.
Fields
| Field | Detail |
| human_roles | Max 2 roles assigned to human members on join |
| bot_roles | Max 2 roles assigned to bots on join |
Command: !autorole (text setup) · JSON file autorole_data.json
Welcome / Greet
Per-serverOn dashboard
Commands
| Command | What it does |
| !welcomesetup | Interactive button-panel setup |
| !welcometoggle | On/off — enabled |
| !welcomechannel | Target channel — channel1 |
| !welcomedesc | Message text — intro_text, description (supports {user} {server} {membercount}) |
| !welcometest | Sends a live preview to the channel |
| !welcomereset | Wipes config back to default |
Subscriber Verifier
Per-serverDiscord only
Not a generic "click to verify" — this checks real YouTube subscription status against a specific channel, with an AI (Claude-powered) image-verification fallback for proof screenshots.
Commands
| Command | What it does |
| !subverifier setup | Modal asks for the target YouTube channel name + link. On submit: fetches live YouTube stats, creates subscribers-noti + subs-logs channels, creates Verifier Mod + Subscriber roles. |
| !subverifier resend | Resends the verification embed/button |
| !subverifier delete | Tears down the whole setup |
Giveaways
Per-serverPartial (manage, not create)
Button-driven setup flow (not modal-first) with per-field forms/dropdowns. Creation stays in Discord; the dashboard can end/cancel/reroll existing ones.
Commands
| Command | What it does |
| !gcreate | Opens the setup flow — prize, duration, winner count, requirements |
| !gend / !gcancel | Force-end (draws winners) vs cancel (no winners) — both on dashboard |
| !greroll | Redraws winner(s) from the same participant pool — on dashboard |
| !ginfo / !glist / !ghistory | Lookup / active list / history |
| !gparticipants | Full entrant list for one giveaway |
| !greqcheck | Checks whether a winner actually met join requirements (message count etc.) before payout |
Fields: prize · host_id · winners · participants [] · requirements · ends_at · active/ended/cancelled
Polls
Per-serverDiscord only
Commands
| Command | What it does |
| !poll create | Opens the poll builder (topic, duration, option count, options, + extras) |
| !poll end <id> | Force-ends immediately |
| !poll list | Active polls in this server |
Extras: hide_results_button (no live vote peek) · hide_full_results (only winner revealed, even after end)
Fun Actions & Ignore List
Per-serverDiscord only
Commands
| Command | What it does |
| !funact add/rem/list | Exempts specific members from the voice-note cooldown — admin only |
| !ignorechannel / !unignorechannel | Makes AutoMod skip a channel entirely — Admin+ (rank 2) |
| !listignore | Shows every ignored channel for this server |
Ignore entries store modules per channel (currently set to "all" via the shortcut commands — the data model supports per-module ignoring too)
Creator Info
Per-serverDiscord only
Per-server customizable "about the bot / meet the dev" card, not a fixed global one.
Commands
| Command | What it does |
| !creatorinfo setup | Configure the card for this server |
| show / refresh / status | Display / re-pull data / check config state |
| enable / disable / delete | Toggle or remove entirely |
Premium
Owner / globalDiscord only
Key-based premium system, tracked per-user and per-server separately, backed by remote DB with periodic backup snapshots.
Commands
| Command | What it does |
| !premkeygen / !killpremkey | Generate / revoke a premium key |
| !premium.activate.user / .remove.user | Grant/revoke premium for a specific user |
| !prem.srv.activate / .rem.server | Grant/revoke premium for a whole server |
| !prem.srv.list / !premium.list.users | Active premium lists |
| !premium | Check current premium status |
| !premiumloggingactivate.db / premlog3hactivate | Enables periodic DB backup snapshots (every 3h) |
Music & Spotify
Per-server (live state)Discord only
Wavelink 3.x / Lavalink v4 backed. State is live/in-memory per voice session, not persisted config — a dashboard "now playing" panel would need a live push channel, not a simple GET.
Commands
| Command | What it does |
| !play / !skip / !stop / !previous | Playback control |
| !queue / !clear | View / wipe the queue |
| !volume / !loop / !seek | Playback tuning |
| !filter | bassboost, nightcore, vaporwave, 8D, karaoke, slowed+reverb, sped up, tremolo, vibrato, clear |
| !lyrics | Fetches lyrics, has a "Live Lyrics on Web" link button |
| !247 | Stay connected 24/7 even with an empty voice channel |
| !spotify | OAuth login/logout + playlist browsing |
| !voteskip / !votestop | Democratic skip/stop for non-DJ users |
Server Info, Bot Status & Utility
MixedDiscord only
Commands
| Command | What it does |
| !ping / !latency / !uptime | Basic health checks |
| !botinfo / !stats / !system | Version, uptime, guild/shard counts — botinfo is intentionally the image-based (info.png) implementation |
| !shardinfo / !servers | Sharding + guild list (owner-relevant) |
| !status | Public status-page link |
| !lock / !unlock | Single-channel — on dashboard's Lock tab |
| !lockdown / !unlockdown | Whole-server lock with snapshot/restore + confirm gate — intentionally not on dashboard (too destructive for a single click) |
| !snipe | Shows the last ~20 deleted messages per channel (in-memory cache, not persisted) |
| !setprefix | Per-server text-command prefix — on dashboard |
| !maintenance enable/disable | Owner only — blocks all commands bot-wide except background protective tasks |
| !logging.view/.disable.all/.purge.channels | Infra-level logging channels (separate from mod-log) |
| !help / !modhelp / !welcomehelp | In-Discord command reference by category |