Discord commands

/admin

Maintain League records, schedules, identities, and tracked data.

Who can use it: League Organizers.

League maintenance commands. These actions can affect members, match history, and published standings.

Do not grant /admin broadly. Operational commands can modify League and match state. Retired Roster mutation commands only provide app guidance.

V2 app shortcuts

These commands require Owner/Organizer authorization, reply privately, and open the current League's management page. They have no options and make no product changes by themselves.

/admin enrollments

Open Rosters & enrollments to review requests, approve, suspend/resume, or withdraw participation. The app performs authorization and confirmation. See Enrollment review.

/admin eligibility

Open Player eligibility under Rosters & enrollments to block or restore a player in this League. Select the player and provide a reason in the app; Discord does not accept a target or bypass the audited confirmation. Team membership stays unchanged. See player eligibility.

/admin roster-roles

Open Discord → Discord Roster roles to choose individual or shared roles and review any optional deletion. Opening the shortcut requires Organizer access, but only the League Owner can apply a Roster-role mode change; the command itself never deletes roles. See Discord Roster roles.

Subcommands

/admin stats

Posts a season stats report for the League and sends a private acknowledgement:

  • active Roster and rostered player counts
  • matches played this week and this season
  • most active team this season
  • biggest upset of the week (largest rating gap where the underdog won)

/admin roster-kick

Compatibility command only: returns an app link and documentation, without changing a Roster. Use /admin eligibility for a League-only block, or Your Teams as the Team Captain to change independent membership.

/admin roster-kick-by-id

Compatibility command only: returns an app link and documentation, without changing a Roster. Team Captains manage Members and Priority in Your Teams. See Member management.

/admin roster-add

Compatibility command only: returns an app link and documentation, without changing a Roster. Team Captains manage Members and Priority in Your Teams. See Member management.

/admin roster-set-captain

Compatibility command only: returns an app link and documentation, without changing a Roster. Team Captains manage Members and Priority in Your Teams. See Member management.

/admin team-set-region

Change a League Roster's region.

  • team String — choose a Roster from autocomplete
  • region String — choose NA, NA-EAST, NA-CENTRAL, NA-WEST, SA, EU, ASIA, or OCE

The change is audited and queues a team leaderboard refresh.

/admin player-set-region

Change a League player's region.

  • player User
  • region String — choose NA, NA-EAST, NA-CENTRAL, NA-WEST, SA, EU, ASIA, or OCE

The change is audited.

/admin team-disband

Compatibility command only: returns an app link and documentation, without changing a Roster. Use Manage League → Rosters & enrollments to suspend or withdraw an Enrollment.

/admin captain-role-cleanup

Queues synchronization of the League Captain role against current Captain Seats on non-archived Rosters. An old Captain pointer without a current Seat does not qualify. This does not transfer independent Team captaincy or override an Organizer block.

/admin match-void

Void a match by match ID and revert the recorded stats and ELO changes.

  • match_id String

This command applies the void immediately after authorization and validation, then replies privately. It does not show a second Discord confirmation button. Verify the match ID before running it, or use the app result-management workflow.

The void reverses the exact rating change the match recorded — results from later matches are unaffected, so older matches can be voided safely. A match can only be voided once. The match_id is shown in #scores under each match message.

/admin season-end

End the current season and start the next one.

  • confirm Boolean — must be True; this resets every team's rating and record

What it does, in order:

  1. Archives every active team's final placement, rating, and record (kept forever, per season and region).
  2. Posts final standings to #scores.
  3. Soft-resets every rating halfway back toward 1500 (see Ratings and Elo).
  4. Zeroes season win/loss and round records.
  5. Starts the next season and resets the leaderboard movement arrows.

Subcommand groups

Organizer-only tools that used to sit inside player commands now live here, so every top-level command has one audience:

  • /admin tracking import · /admin tracking reclassify — see /stats
  • /admin identity panel · /admin identity search · /admin identity unlink — see /identity
  • /admin schedule generate · /admin schedule draft — see /schedule

/admin leaderboard-refresh

Queue a leaderboard refresh. Movement arrows (▲/▼/🆕) are rendered against the previous snapshot, and the baseline is rolled to the refreshed standings. Discord delivery is asynchronous, so the command acknowledgement can arrive before the new embed.

/admin audit

View the organizer audit log — a permanent record of every organizer action (elo overrides, manual match entry, voids, roster changes, disbands, config edits, timeouts, demerits, season rollovers, /say).

  • limit Integer optional — entries to show, 1-25 (default 10)

/admin sync-users

Queue a complete Discord membership and League-role reconciliation. See sync users.

/admin export-availability

Export current Roster availability. See availability export.

/admin impact-rebase

Queue a rebuild of the cached Round Impact win-probability table from approved matches. Completion is asynchronous; a queued response does not mean the rebuild has finished.

Team-managed Rosters

Direct Roster membership and disband commands do not bypass Team Enrollment rules. Use Enrollment review or withdraw an Enrollment for a Roster managed by an independent Team.