Skip to content

Server Configuration

Jerad Berhow edited this page Oct 6, 2026 · 14 revisions

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.

1. Roles first

/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-defaults makes channels visible to. /security captcha setup refuses 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.

2. Temporary voice channels

/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.

3. Self-service role menus

/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.

4. Anti-spam

/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.

5. Message auto-deletion

/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.

6. Alerts

/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.

7. Everything else

/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 rank and /level leaderboard are open to everyone.

Verifying it all works

/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

Clone this wiki locally