Introduction

Competition as a Service

Leagues that run themselves.

Heir runs competitive leagues from inside Discord — teams and rosters, elo and standings, weekly scheduling, live in-game stat tracking, and public player profiles. The league layer is game-independent; each title plugs in as a module.

Start here

What you get

How a league runs

  1. Install and activate — invite the bot, get the guild activated, run /sync-users.
  2. Configure once/config sets regions, roster size, match days, and scheduling windows.
  3. Teams form — captains manage their own rosters and availability.
  4. Schedules publish weekly — generated from availability and elo bounds, with captain DMs and reminders.
  5. Matches record themselves — on tracked servers results and stats are captured automatically; otherwise /report-match takes seconds.
  6. Profiles update — ratings recompute and heir.gg (opens in a new tab) profiles publish on their own.

Conventions in these docs

  • Commands are written as /command subcommand.
  • Anything marked (Organizer) requires the Organizer role or a server admin.
  • Anything marked (Captain) is limited to a team's captain.
  • IDs shown in examples are Discord snowflakes.