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:

  1. Bot checks for a guild role whose name contains Verified. If missing, the user sees Verified role not configured. Tell an admin to run the setup script. and nothing happens.
  2. If you already have the role, the bot replies ephemerally You're already verified.
  3. Otherwise the bot assigns the role with audit reason ToS accepted via bot.
  4. 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.