Discord support bot
Verify button
Rules-acceptance gate that assigns a Verified role and unlocks the rest of the server.
The verify flow is what gates access to the Rust Pulse support server.
A pinned message in #rules-tos carries a Verify button. Clicking it:
- Bot checks for a guild role whose name contains
Verified. If missing, the user seesVerified role not configured. Tell an admin to run the setup script.and nothing happens. - If you already have the role, the bot replies ephemerally
You're already verified. - Otherwise the bot assigns the role with audit reason
ToS accepted via bot. - The bot posts a public welcome in
#general(best effort) mentioning you, with a branded embed pointing to#rules-tos,#general-support,#bug-reports,#feature-requests.
Why the role-name regex
r.name.includes('Verified') is intentionally permissive so server admins can rename the role (e.g. Verified — RP) without breaking the gate. The bot also matches staff roles by name regex (/moderator|admin|helper|staff|owner|support/i) for the same reason.
Server-side setup
The role + the pinned button + the channels are all bootstrapped by npm run setup against a fresh guild. The setup script lives in rustpulse-discord/src/setup.ts and reads config/server.config.json for the role and channel definitions.