Repository navigation
Server Configuration
Setting the bot up inside a Discord server. Order matters — several features depend on roles configured in step 1 and will refuse to run without them.
Every command below is admin-gated: you need Discord's Administrator
permission, or membership in a role added via /setup mod-role add. Manage
Channels alone is not enough.
/setup mod-role add role:@Moderators
/setup member-role role:@Members
-
Mod roles — who can use the bot's admin commands besides Administrators. Any number can be added (
/setup mod-role add,remove,list,clear). Mod-role members are also skipped by the honeypot and can override temp-channel ownership via/vc claim. -
Member role — the role the verification captcha grants, and the role
/roles apply-channel-defaultsmakes channels visible to./security captcha setuprefuses to run until this is set.
Don't have the roles yet? Create them inline instead of pointing at existing ones:
/setup member-role name:Members color:#3498db
color accepts a hex code or a Discord colour name (Red, DarkBlue,
Blurple…).
/setup streamer-role also exists and is stored, but nothing consumes it yet.
/voice create name:➕ Join to Create
Anyone who joins that hub gets their own temporary channel, and becomes its
owner. Owners manage their own channel with /vc (name, limit, lock,
unlock, kick, claim, transfer) — /vc is not admin-gated, it's scoped
to whoever currently owns the channel they're in.
Channels are deleted automatically once empty. If a hub's channel gets deleted
manually, /voice audit finds the orphan and offers to prune or recreate it.
To use an existing voice channel as a hub instead: /voice add hub:#channel.
/roles dropdown create channel:#roles role:@Gamer descriptor:Ping for game nights
/roles dropdown add-role message:<id> role:@Artist descriptor:Art channel access
Posts a message with a button; members open a personal dropdown, pre-checked
with the roles they already have, and tick/untick to assign or remove. One role
per command call — repeat add-role to build the menu up.
/roles apply-channel-defaults channel:#roles locks that channel so only
admins and the bot can post, and only the member role can see it.
/security captcha setup adjust_visibility:true
/security honeypot setup
Captcha posts a verification message in a screening channel (created for
you, or pass channel:). A member presses Start verification and is privately
asked to pick one specific option from a dropdown — which option is correct is
randomised per person, so a bot can't pass by clicking the only thing on
screen. Passing grants the member role.
adjust_visibility: true additionally removes View Channels from @everyone
and grants it to the member role, so unverified members see only the screening
channel. This is a server-wide change — it's off by default and the bot tells
you exactly what it altered. Undo it by giving @everyone View Channels back
in Server Settings → Roles.
Honeypot designates a trap channel and posts a warning in it. Anyone who
posts there is removed — by default a softban (banned then immediately
unbanned, so Discord deletes their recent messages but they can rejoin), or
action: ban to ban outright.
Admins and mod-role members are always skipped, so you can safely look at the channel yourself. Every action is reported through
/alerts.
Tip: name the trap channel something plausible like #off-topic-2 rather than
#honeypot — some spam bots skip channels named "honeypot", and position it near
the top of the channel list where bots tend to post first.
/autodelete set channel:#spam duration:24h count:100
Deletes each message once it's duration old, or once count newer messages
exist — whichever comes first. Supply either or both. Durations take h/m/s
and combinations (24h, 30m, 90s, 1h30m).
Pinned messages are never deleted, so pin anything that should survive.
/alerts channel channel:#bot-alerts
/alerts add-recipient user:@You
/alerts test
Where the bot reports things that need attention — honeypot removals, voice hubs
whose channel vanished. If you don't configure anything, the bot creates a
default #bot-alerts channel on join; /alerts remove-default deletes it and
stops it coming back.
/giveaway and /level need no setup:
-
/giveaway create prize:… duration:<minutes> winners:<n>— members enter via a button, winners are drawn automatically when it ends./giveaway end id:<id>ends one early. -
/level— XP accrues automatically from messages (15–25 per message, once per minute per person)./level rankand/level leaderboardare open to everyone.
/security status # captcha + honeypot state, warns if the member role is missing
/autodelete status # per-channel auto-delete settings
/voice list # configured hubs
/roles list # configured role menus
/alerts status # where alerts are going
/alerts test # actually send one