Member Verification
AA Only PremiumAutomatically grants Discord roles and a Name [TornID] nickname to faction members, guests, and new users — with four distinct membership buckets.
The Four Buckets
Every Discord member in your server falls into exactly one bucket:
| Bucket | Who | What Happens |
|---|---|---|
| Member | Resolved Torn ID is on your faction roster | Gets Verified Roles + their position role + Name [TornID] nickname |
| Guest | Resolved Torn ID exists but is NOT on your roster | Gets Verified Roles + Guest role + Name [TornID] nickname |
| Unverified | No Torn↔Discord connection found | Gets Unverified Roles (if configured) |
| Excluded | Holds any configured Exclusion role | Skipped entirely — no roles or nickname touched |
Identity Resolution
FactionOps resolves a Discord user's Torn identity in this order:
- FactionOps link — if the user has logged into FactionOps, their Torn ID is stored
- Global FactionOps link — if they are linked via another faction's FactionOps instance
- Torn in-game connection — Torn's own Discord connection (
torn.com→ Settings → Connections)
Only the roster check (Member vs Guest) uses the resolved Torn ID against your faction's member list.
Slash Commands
/verify
Verifies the calling user. Resolves their Torn ID, determines their bucket, and applies roles and nickname.
/verifyuser @member
Verifies another Discord member. AA-gated.
/verifyall
Bulk-verifies all members in the server. Runs a full guild sweep. Requires Server Members Intent.
Auto-Sync
When enabled, the bot re-syncs roles and nicknames for all linked members every 24 hours. Members who have left the faction are moved to the Unverified or Guest bucket on the next sweep.
Managed roles only: the bot adds and removes only the roles you configure in the Verified, Unverified, Guest, and Exclusion lists. All other Discord roles on a member are untouched.
Configuration Fields
| Field | Description |
|---|---|
| Enable | Toggle verification on/off |
| Verified Roles | Roles granted to Members and Guests (multi-select) |
| Guest Role | Single role granted in addition to Verified Roles for Guests |
| Unverified Roles | Roles granted to members with no resolved Torn ID (multi-select) |
| Exclusion Roles | Members holding any of these roles are skipped entirely (multi-select) |
| Auto-Sync | Run a 24-hour reconcile sweep automatically (default: on) |
| Log Channel | Optional channel to receive sweep summaries |
Notes
- Guest bucket auto-links the user's global Torn↔Discord connection as a faction-scoped link (cached for future lookups — this is not a security gate)
- Members who disconnect their Torn in-game connection are NOT automatically moved to Unverified on the next sweep if they have a FactionOps link — the link cache keeps them resolved
- Empty Unverified Roles list: if no Unverified Roles are configured, unresolved members are silently skipped (no roles added or removed)
