Discord commands

Command permissions

League commands are visible by default; Heir roles determine who can use privileged actions.

Heir makes League slash commands available to everyone by default. Heir checks your current League and Team permissions before a command reads restricted information or performs an action.

Access comes from Heir

The League Owner manages Organizer access in Heir. Organizer commands require that League's Owner or a current Organizer. Discord Administrator, Manage Messages, Timeout Members, or a manually assigned Discord role does not grant this authority.

Captain actions check your current authority over the relevant Team or Roster. Being Captain of another Team does not qualify. Public commands and app links remain available without granting management access.

Heir mirrors managed roles into connected Discords. These roles reflect Heir's membership and authority; they do not replace its checks. See Organizer access lives in Heir.

Visibility matrix

CommandVisible to (default)Who can actually run it
/achievementsEveryoneLeague member
/adminEveryoneLeague Owner or Organizer in Heir
/configEveryoneLeague Owner or Organizer in Heir
/create-teamEveryoneApp/docs link only; signed-in creator becomes Team Captain in the app
/disband-teamEveryoneApp/docs link only; Team disbanding and League withdrawal are separate app actions
/edit-teamEveryoneApp/docs link only; Team Captain edits in the app
/eloEveryoneLeague Owner or Organizer in Heir
/identityEveryoneLeague member (panel/search/unlink live under /admin identity)
/leave-teamEveryoneApp/docs link only; no membership changes in Discord
/crownsEveryoneLeague member
/match-historyEveryoneLeague member
/player-cardEveryoneLeague member
/predictEveryoneActive connected League with two rated Rosters
/reform-teamEveryoneApp/docs link only; re-enroll the existing Team through the app
/rosterEveryoneview/seats: League Roster lookup · retired membership actions: app/docs links only
/scheduleEveryoneLeague member (view only — generation lives under /admin schedule)
/statsEveryoneLeague member (import/reclassify live under /admin tracking)
/team-availabilityEveryoneview/set-time: rostered League Member · set-locations/vacation: Roster Captain or Organizer
/sayEveryoneLeague Owner or Organizer in Heir
/serverEveryoneLeague Owner or Organizer in Heir
/timeoutEveryoneLeague Owner or Organizer in Heir
/demeritEveryoneLeague Owner or Organizer in Heir
/versionEveryoneAny user in a connected Discord League
/heirEveryonePrivate app shortcuts; no account data is read or changed

If a command is hidden or refused

There is no separate Grant command access step. If Heir refuses a command, check your current role in the relevant League or Team.

Discord administrators can still restrict commands or channels through Server Settings → Integrations → Heir → Commands. Existing overrides may continue to hide commands after Heir updates its defaults. Ask a Discord manager to review those restrictions if a command is missing. Making a command visible never grants permission to perform its action.

Retired Team commands (/create-team, /edit-team, /leave-team, /disband-team, /reform-team) now need no League role to be discovered: they only return app/docs links. Existing Discord permission overrides may still hide them; review those separately. App authorization remains mandatory for actual Team or League changes.

The /heir shortcuts and /roster seats respond privately. /roster view remains a public League Roster card. /admin enrollments, /admin eligibility, and /admin roster-roles are visible to everyone and require Heir Organizer authority; they open the app without changing data.

Independent Teams

Team webhooks send notifications without installing slash commands. Manage Members, invitations, Priority, and Enrollments on the website. Existing /team shortcuts are retired.

/admin sync-users and /admin export-availability inherit Organizer access from /admin.