Browse documentation

VIRCON

Role Management & Promotions

PERMISSIONS & HIERARCHY

Role Management & Promotions

VIRCON manages a hierarchical staff role system with automated Discord and VRChat permission synchronization. Promotions and demotions are logged, validated, and propagated across platforms to maintain consistent access control.

Role Commands

Commands for promoting, demoting, and managing staff role assignments across platforms.

  • ,promote @user <role> - Promote user to higher staff role (Discord + VRChat)
  • ,demote @user [role|remove] - Demote user or remove all staff roles
  • ,grantstaff @user [vrc_url] - Grant basic staff permissions
  • ,grantadmin @user [vrc_url] - Grant admin permissions
  • ,grantheadadmin @user [vrc_url] - Grant head admin permissions

Staff Role Hierarchy

Eight-tier permission structure from observer to council with graduated access levels.

Observer

L1
Permissions: Read-only access, training mode only
Promotion Path: Manual enrollment via ,training enroll

Trial Moderator

L2
Permissions: Warnings and kicks (with approval)
Promotion Path: Complete observer stage, ,promote to tmod

Junior Moderator

L3
Permissions: Independent warnings, kick requests
Promotion Path: ,promote @user mod after trial completion

Full Moderator

L4
Permissions: All moderation actions (ban, kick, warn)
Promotion Path: ,promote @user mod (graduation from junior)

Staff

L5
Permissions: Moderation + administrative tools
Promotion Path: ,promote @user staff OR ,grantstaff

Admin

L6
Permissions: Configuration changes, staff management
Promotion Path: ,promote @user admin OR ,grantadmin

Head Admin

L7
Permissions: Full control, feature locks, rollbacks
Promotion Path: ,grantheadadmin (Owner approval required)

Council

L8
Permissions: Executive authority, policy setting
Promotion Path: ,promote @user council (manual review)

Promotion Workflow

Step-by-step process for validating and executing role promotions with cross-platform sync.

  1. 1. Recommender identifies candidate for promotion based on performance.
  2. 2. Recommender initiates promotion with appropriate command (e.g., ,promote @user mod).
  3. 3. System validates: current role, eligibility criteria, training completion.
  4. 4. Discord roles updated automatically via bot permissions.
  5. 5. VRChat group permissions updated via VRChat API (requires VRChat profile link).
  6. 6. Promotion logged to audit trail with timestamp, actor, and target.
  7. 7. Notification sent to staff channel announcing promotion.
  8. 8. Promoted user receives DM with new responsibilities and resources.

Demotion Workflow

Controlled process for demoting staff with required justification and access revocation.

  1. 1. Admin initiates demotion with ,demote @user [target_role].
  2. 2. System validates admin has authority to demote target (higher role required).
  3. 3. If target_role specified: user demoted to that level.
  4. 4. If 'remove' specified: all staff Discord roles and VRChat permissions revoked.
  5. 5. Demotion logged to audit trail with mandatory reason field.
  6. 6. Access to staff channels and commands updated immediately.
  7. 7. Notification sent to admin channel (not public to avoid embarrassment).
  8. 8. Demoted user receives private DM explaining reason and next steps.

Role Assignment Database Schema

Database structure for tracking role grants, revocations, and justification documentation.

FieldDescription
role_idUnique role assignment identifier.
user_discord_idDiscord ID of role recipient.
user_vrc_idVRChat ID of role recipient.
role_nameobserver, tmod, junior, mod, staff, admin, headadmin, council.
granted_byDiscord ID of admin who granted role.
granted_atTimestamp of role assignment.
promotion_reasonJustification for promotion (optional but encouraged).
revoked_atTimestamp of role removal (NULL if active).
revoked_byDiscord ID of admin who revoked role.
demotion_reasonRequired reason for demotion/removal.

Automation Features

Automated role synchronization, conflict detection, and permission cascade management.

  • Auto-graduation from trial/junior to mod when training metrics hit thresholds.
  • Cross-platform sync: Discord role changes trigger VRChat API updates.
  • Permission cascade: lower roles auto-revoked when higher role granted.
  • Audit logging: all promotions/demotions recorded with actor and timestamp.
  • Conflict detection: alerts if user has mismatched Discord/VRChat permissions.
  • Inactive role cleanup: staff inactive 90+ days flagged for review.

Real-World Use Cases

Practical examples of promotion and demotion scenarios with their outcomes.

Case 1

Trial mod completes training with 95% approval rate

Action: ,promote @user mod - upgrades to full moderation permissions

Outcome: User gains independent action authority, training metrics reset

Case 2

Staff member violates policy, receives 3rd strike

Action: ,demote @user tmod - demoted to trial mod pending review

Outcome: Permissions restricted, performance monitored closely

Case 3

Long-time moderator promoted to help with admin tasks

Action: ,promote @user admin - grants configuration and staff management access

Outcome: User can now manage roles, edit config, access admin-only commands

Best Practices

Guidelines for transparent and fair role management across the staff hierarchy.

  • Always document promotion/demotion reasons for transparency.
  • Verify VRChat profile is linked before granting roles (prevents permission gaps).
  • Use graduated promotions - don't skip trial/junior stages.
  • Review demotions with head admin before executing (second opinion).
  • Celebrate promotions publicly, handle demotions privately.
  • Audit role assignments quarterly to catch stale/incorrect permissions.