// verification
Verification & tickets
kesarAI’s verification system gates new members behind a private ticket a moderator reviews by hand. The same ticket machinery backs a quarantine flow for members who need to explain themselves, and every closed ticket is archived as an HTML transcript. Roles are swapped by the moderation commands — the ticket is just the place the conversation happens.
Overview
A verification ticket is a per-member channel that only the member and your staff roles can see. The member opens one from a panel you post in a public channel; a moderator reads it, decides, and applies the configured role swap. There are two parallel flows built on the same pieces:
- Verify— the welcome gate. A new member opens a ticket, a moderator approves, and the verified role set is applied.
- Quarantine— the restriction flow. A member is stripped of their roles and given a quarantine ticket to make their case before being let back in.
Who can action a ticket is decided by the moderation permission grid, not by who can see the channel. The verify and quarantine mod permissions gate the commands below; see permission tiers for the full model.
The verify flow
A new member opens a private verification ticket from the panel. The bot creates a channel only they and staff can read, pings the configured staff roles, and posts the controls. A moderator reviews the ticket and approves it:
/v— verify the member. Applies the verified role set and removes the non-member role in one action, then logs the result./unv— reverse a verify. Shares theverifymod permission.
Once the ticket is resolved it is left up briefly so everyone can see the outcome, then deleted automatically after a configurable delay (an hour by default). The channel posts a notice that it will be removed before the timer fires.
Quarantine works the same way, with its own command pair and its own role swap:
/q— quarantine a member. Removes their member role set and applies the quarantine role./unq— lift a quarantine. Shares thequarantinemod permission.
Every verify, unverify, quarantine, and unquarantine is written to the audit log with the moderator, the target, and the roles that changed. Verified members can also receive a welcome DM the moment they’re approved, on every verify method — see welcome messages.
Tickets
The ticket commands live under a single /ticket group. Setup deploys the public panel; the rest configure behaviour, manage live tickets, and surface staff metrics.
/ticket setup— configure the ticket system and deploy the “Open Ticket” panel into a channel./ticket configure— tune ticket behaviour, staff assignment, and the cleanup thresholds./ticket manage— the cleanup and management panel for working through open tickets./ticket dashboard— view the currently open tickets at a glance./ticket stats— ticket statistics, including response-time tracking and per-staff assignment.
Inside each ticket the bot posts a control panel with buttons to close the ticket, action it (Verify or Unquarantine), claim it as the handling staff member, and pull up the opener’s account details.
Transcripts
When a ticket closes, the bot archives the full conversation as a styled HTML transcript and posts it to your configured transcript channel. The transcript captures every message, author, timestamp, attachment, and embed, so a resolved ticket stays reviewable long after its channel is deleted. Verify and quarantine tickets can route to separate transcript channels.
Configuration
The fastest path is the wizard. /quicksetup (or /ticket setup on a fresh server) gives you a 🚀 Auto-create button that builds the whole thing: it creates the public panel category and channel, a private transcript channel, seeds a default question set, deploys the panel, and wires the role swaps that /v and /qapply. You just pick two roles — the member role and the role to swap — and click once. If the bot is missing Manage Channels it falls back to letting you point at channels you have already made. See getting started for the walk-through.
To fine-tune later, /ticket setup opens the full panel: set the panel channel and category, edit the questions a member answers (the “💬 Verify Questions”button — they ship with a default set you can fully rewrite), choose the ping roles, transcript routing, and the panel’s look. Verify can run in two modes, toggled right there: a full ticket + questions flow, or a one-click button that verifies instantly. /ticket configureis separate — it tunes cleanup and inactivity behaviour, not the wiring.
The roles that /v and /q add and remove live in their own panel: Role Config, under /setup → Tickets. Pick an action (Verify, Unverify, Quarantine, Unquarantine) and choose the roles it adds and removes — unquarantine can mirror your quarantine config in one click. Keep in mind that seeing a ticket and being able to action it are separate: the verify and quarantine mod permissions decide who can run the commands, so review permission tiers when you set this up.