Verification

TM 26-06 Clusterfox (Discord Bot)

Verification

The verification system lets you gate Discord roles behind a custom application flow. Recruits apply through Discord; staff review and accept or reject submissions; the bot assigns roles automatically on approval.


Admin Setup

Go to Admin → Verification to manage verification configurations. A single server can have multiple configurations (e.g. one for member applications and a separate one for allied regiments).

Creating a Configuration

Click New Verification. The setup form has the following fields:

Basic Settings:

  • Name — Internal label for this config (not shown to applicants)
  • Verification channel — The Discord channel where the "Show application options" button will be posted
  • Review channel — The private channel where staff receive and review pending submissions
  • Message content — Optional markdown text that appears above the embed in the verification channel

Embed Builder (optional): Build a custom Discord embed to display above the apply buttons — useful for instructions, artwork, or a formatted introduction.

Application Types:

Three application types are available: Member, Ally, and Faction. Each can be independently enabled or disabled, and each has its own configuration:

Field Description
Label Text on the Discord button (e.g. "Apply as Member")
Style Button colour: Primary (blue), Secondary (grey), Success (green), Danger (red)
Required roles Discord roles a user must have before they can click this button (leave empty to allow anyone)
Accepted role The Discord role granted to the applicant when their submission is accepted
Faction code expiry (Faction only) How many minutes before the verification code expires (default: 30)

The order in which the three buttons appear can be rearranged.

Adding Questions

Go to Admin → Verification → [config] → Questions to manage the questionnaire for each application type.

  • Up to 5 questions per type (Discord modal limit)
  • Per question: question text, placeholder text, required toggle, max character length, sort order
  • Member and Ally questions are configured separately

Sending the Verification Message

Once the configuration is ready, click Send. The bot posts a message to the verification channel containing the intro text, the optional embed, and a Show application options button. The send date is recorded on the config list.

If you update the config later, click Resend to push a new message to the channel.


Member Experience

Standard Application (Member / Ally)

  1. Member navigates to the verification channel and clicks Show application options.
  2. The bot checks eligibility: required roles are present, and the accepted role has not already been granted.
  3. The bot displays the enabled application type buttons.
  4. Member clicks their application type button.
  5. A Discord modal opens with the configured questions (up to 5 fields).
  6. Member fills in their answers and clicks Submit.
  7. The bot sends a confirmation DM to the applicant and posts a review card to the staff review channel.

Faction Application

The faction flow uses an in-game code as proof of identity:

  1. Member clicks the Faction button in the verification channel.
  2. The bot DMs the member a randomly generated 6-character code, along with instructions and an image showing where to type it in-game. The DM states when the code expires.
  3. Member types the code into in-game chat on the map screen and takes a screenshot showing the chat with the code visible.
  4. Member sends the screenshot to the bot via DM.
  5. Member sends their Steam profile URL to the bot in the same DM conversation.
  6. Once both the screenshot and Steam URL are received, the bot posts a review card to the staff review channel and confirms receipt to the member.

If the code expires before the member submits, they should contact a staff member to be issued a new one.


Staff Review

When an application is submitted, the bot posts a review card to the configured review channel:

  • Applicant Discord username and avatar
  • Application type
  • Each question and the applicant's answer (for Member/Ally)
  • Screenshot, code, and Steam URL (for Faction)
  • Accept and Reject buttons

Accepting

Click Accept. The bot:

  • Grants the configured accepted role to the applicant
  • DMs the applicant a success message
  • Updates the review card to show who accepted and when (green colour)

Rejecting

Click Reject. A modal opens prompting for a rejection reason. After submitting:

  • The bot DMs the applicant with the rejection reason
  • The review card updates to show who rejected and the reason (red colour)

No Discord permission beyond being able to see the review channel is required to accept or reject — any staff member who can see the channel can act on submissions.