Leaderboard type · League

Discord League Bot for Sports & Points-Based Rankings

Run a football league, basketball season, or any head-to-head sport on Discord. Configurable points per result, match scores, and a live web leaderboard.

ScoreboardsAPP
Discord League table for Sunday League: eight players with their matches, wins, draws, losses and points, and the Submit result, My rank and Web buttons under it
Submit resultMy rankWeb

Scoreboards is the Discord league bot built for sports communities. Run a Sunday-league football season, a casual basketball ladder, a FIFA / NBA 2K tournament, or any recurring 1v1 or team competition — players submit match results with the score, the bot awards points for each win, draw, and loss, and the leaderboard updates in real time inside Discord and on a shareable web page.

The basics

What is a league leaderboard?

A league leaderboard ranks players by total points accumulated over a season. Every match awards a fixed number of points — typically 3 for a win, 1 for a draw, and 0 for a loss, the standard used by every major football league in the world since 1994.

Unlike ELO, the scoring is transparent and predictable: win three games and you've earned nine points, no math required. That makes it the perfect format for sports, tournaments, and any community where the rules should be obvious at a glance.

Record the score of each match (3–1, 2–2, 5–0) so your league doesn't just track who won — it tells the whole story of the season.

Report a match

Pick two players and a score, then report it. The result and the points follow the same rules the bot scores League matches by.

2
1

Points for a win · draw · loss

arcadefox winsarcadefox +3Kabuto +0

League table

Sunday League

Sunday League
#PlayerPlayedWonDrawnLostGoal differencePoints
1Kabuto12921+1729
2arcadefox12831+1327
3Nova12813+1025
4ripcord12642+822
5Vex12624+420
6pxlwitch12525−117

Level on points? The web leaderboard splits them on goal difference, then goals scored. A change to the points counts from the next approved result; points already on the table stay.

Features

How Scoreboards does leagues

Configurable points

Set how many points a win, draw, and loss are worth. The 3–1–0 default matches FIFA/UEFA, but you can dial it in for rugby, hockey, or whatever your league needs.

Match scores

Enter the score for every match (3–1, 2–2, 7–4). Scores determine the winner automatically — higher score wins, equal scores are a draw.

Match reporting from the leaderboard

Hit Submit on the leaderboard, then enter both sides and the match score. The bot awards points to every player on each side and updates the standings instantly.

Free-for-all matches

A league can also score free-for-alls of 3 to 8 players, where everyone plays for themselves. Pay the whole field from a placement points table (10-8-6-4-2-0, F1 style), or keep it simple — the winner takes the win points, everyone else the loss points, and a drawn game pays the draw points to all of them.

Verification & approval flow

Submitted matches land in a log channel for moderator review before points move. Auto-approve after a configurable delay if you trust your community.

Matchmaking queue

Turn on the Queue button and the bot pairs players with similar points per game, so someone who has simply played more is not matched as if they were better. The queue is in beta.

Automated tier roles

Assign Discord roles automatically based on league position (top 3, top 10, promotion/relegation zones). Roles update the moment the standings change.

Seasons with a podium

Set an end date, or end the season from the dashboard, and the board freezes: a podium is posted and the final table stays as the season's record. The next season starts on a new board.

Live web leaderboard

Every league gets a shareable web page with full standings, match history, wins/draws/losses, and match scores — so members can follow the season outside Discord too.

Want the full mechanics and best-practice tips? Read the leaderboard bot overview →

From result to table

How one match moves the table

Every League result takes the same short path, 1v1 or 8v8. Nobody does sums: the score decides the result, and the board does the rest.

  1. 01

    Report the match

    Press Submit result under the board, pick both sides and type the score, such as 3-1.

  2. 02

    The score decides

    The higher score wins and equal scores are a draw, so nobody has to pick a winner by hand.

  3. 03

    Someone confirms it

    With a log channel, the result waits until a validator or the opponent approves it, or auto-approval does after the delay you set.

  4. 04

    Points are paid

    The winners take the win points, the losers the loss points, and a draw pays both sides the draw points. On a team board every player on a side gets the same.

  5. 05

    The table re-sorts

    The board in Discord is redrawn with the new points and W/D/L, and its web page shows goals for and against as well.

Team leagues, 2v2 to 8v8

Every player keeps their own row. The whole winning side takes the win points, and the score counts as goals for and against each of them.

Fixed teams

Named teams sign up once with the board's Team sign-up button, with up to two reserves, and the table ranks the teams instead of players.

Mistakes put right

An admin or validator can edit a match's score on the board's web page: the points are taken back and paid again on the corrected result. Cancelling a match takes them back.

Free-for-all

Races and party games pay the whole field

Set a League board to a free-for-all of 3 to 8 players and a placement points table can pay every finishing place, F1 style. Report the same race three ways and see what each player takes.

Report result

Friday Kart Night, race 3

6 players

  1. 1VexW+10
  2. 2NovaL+8
  3. 3LumenL+6
  4. 4KabutoL+4
  5. 5pxlwitchL+2
  6. 6ripcordL+0

A full finishing order: every place is paid from the placement points table.

Placement points

  1. Place 1: 10
  2. Place 2: 8
  3. Place 3: 6
  4. Place 4: 4
  5. Place 5: 2
  6. Place 6: 0

Switch them on in the dashboard, below the win, draw and loss points, and a 6-player board starts from 10, 8, 6, 4, 2, 0. Any place can take any whole number, negatives included.

Reported in one form

A free-for-all board shows Report result instead of Submit result: pick everyone who played, then the winner, the full order or Everybody draws.

Ties share a place

Players who tie each take the points of the place they share, and anyone finishing past the end of the table keeps scoring its last entry.

Records follow the finish

First place, a tie for it included, counts as a win and everyone else as a loss. An all-draw is a draw for the whole field.

Use cases

When to use a league leaderboard

Sports leagues

Football/soccer, basketball, futsal, handball, hockey — any sport where matches have a score and a season produces a table.

Sports video games

FIFA, NBA 2K, Madden, NHL, Rocket League — all the sports games that play best with a proper table rather than an ELO ladder. Set a team size for the 2v2 and 3v3 formats.

Team leagues, 2v2 to 8v8

Fix the squad size for the season and every player still gets their own row: the winning side's players all take the win points, and the match score counts as goals for and against each of them.

Fixed-team season tables

Or run it like a real league: turn on fixed teams and named squads sign up once (with up to two reserves), matches are submitted team vs team with the score, and the table ranks the teams by points.

Round-robin tournaments

Group-stage formats where every player meets every other player and points decide who advances.

Company / friend group leagues

Office ping-pong, pool leagues, darts nights — any recurring competition where you want a transparent table instead of a rating.

Economy · Beta

Make every result pay

Switch on the economy and every approved result on this board pays your members a currency you name. They spend it in your server's shop on roles, board emojis and name colours, so there is always a reason to play one more.

See how the economy works

Quick start

Set up a League leaderboard in two minutes

  1. 1

    Add Scoreboards to your server

    Invite the bot to your Discord server. It takes a few seconds.

    Add to Discord
  2. 2

    Run /leaderboard create

    Name the board and pick League. It pays 3 points for a win, 1 for a draw and 0 for a loss until you change that in the dashboard. Press More options afterwards for teams up to 8v8, a free-for-all or fixed teams.

  3. 3

    Play the first match

    Press Submit result on the board, pick both sides and type the score as 3-1. The winner and the points follow from the score.

  4. 4

    Fine-tune it in the dashboard

    Auto-approval, roles for the top ranks, seasons, colours and a web page for every board are all in the dashboard.

    Open the dashboard

FAQ

League leaderboard FAQ

Can I change how many points a win, draw or loss is worth?

Yes. A new League board pays 3 for a win, 1 for a draw and 0 for a loss. In the dashboard each can be any whole number from −100 to 100, so 2/1/0 for hockey works, and so does docking points for a loss. A change counts from the next approved match; points already on the table stay as they are.

How do players report a match?

They press Submit result under the board, pick both sides and type the score, such as 3-1 (3 1 and 3:1 work too). The higher score wins and equal scores are a draw. With a log channel set, the result waits for a validator or the opponent to approve it; without one it counts straight away. Matches can also be submitted from the board's web page.

How are players level on points ranked?

The board's web page separates them by goal difference, then goals scored, as most football leagues do, and then by name. Goals come from the scores entered with each match.

Can a league have teams?

Yes, two ways. Give the board a team size from 2v2 to 8v8 and every player keeps their own row, with the whole winning side taking the win points. Or turn on fixed teams: named teams sign up once with the board's Team sign-up button, with up to two reserves, and the table ranks the teams.

Can a league score races or party games with more than two players?

Yes. Set the match format to a free-for-all of 3 to 8 players and results are reported with the Report result button. Switch on placement points in the dashboard to pay every finishing place, F1 style. Without them, or when only the winner is reported, the winner takes the win points and everyone else the loss points; an all-draw pays everyone the draw points.

How do I start a new season?

Set an end date, or end the season from the dashboard. The board freezes, a podium is posted and the final table stays as the season's record. For the next season, create a new board with /leaderboard create.

Run a league worth playing in.

A live points-based leaderboard turns casual matches into a season — and gives the whole community a shared table to rally around.

Add to Discord