Commands¶
Every command is a Discord slash command: type /, pick the command, fill in the options. Anyone on
the server can use the data commands. Only members with Manage Server can use /setup.
Most options can be left empty — the bot then picks the sensible default (current season, latest
round, drivers classification). Options like season, round, session, driver, team, track
and multiseason offer autocomplete: you start typing a name and pick from the list, so you
never deal with IDs.
Text embeds or image cards¶
The commands split into two families, and the name always tells you which reply you will get:
/render-…uploads a PNG image card. Documented on its own page: Image cards.- everything else replies with a text embed — a normal Discord message with selectable text.
This page is the reference for the embed commands; the image cards get their own page because reading a card is a visual matter. The options are shared, so the section on choosing season, round and session below applies to both families.
Data commands — text embeds¶
| Command | What it shows |
|---|---|
/standings |
Championship standings for a season — drivers or constructors |
/race-results |
Race results — podium, top 10, fastest lap |
/qual-results |
Qualifying results — pole position, top 10, best laps |
/driver |
Driver profile — career, one season, or a group of seasons |
/head2head |
Two drivers, or a team's pairing, compared over a season |
/season |
Season calendar with round statuses, or upcoming rounds with countdowns |
/track |
Track history — records, who wins there, recent races |
/team |
Team career across a group of seasons — titles, points, line-up |
/league |
The linked league — season counts and the most recent seasons |
Data commands — image cards¶
| Command | What it renders |
|---|---|
/render-race-results |
Race result table |
/render-qual-results |
Qualifying result table |
/render-race-highlights |
Session highlights — stat tiles |
/render-race-strategy |
Tyre strategy — stint chart |
/render-standings |
Championship standings — wins, podiums, poles per row |
/render-lineup |
Season lineups — who drives for whom |
/render-calendar |
Season calendar — rounds, sessions, dates |
/render-track |
Track history — records and every main race run there |
/render-team |
Team career — titles, every season, full line-up |
Utility and admin commands¶
| Command | What it does | Reply |
|---|---|---|
/ping |
Whether the bot is alive, and its latency | plain text |
/setlang |
Moved to /setup language; still works |
plain text, private |
/setup |
Linking and server settings | plain text, private |
/setup refresh |
Re-read the option suggestions from RLT right away | plain text, private |
Same data, either form
/race-results and /render-race-results (likewise /qual-results / /render-qual-results,
/standings / /render-standings, /season / /render-calendar, /track / /render-track
and /team / /render-team) read exactly the same data and accept the same options. Swapping
the command is all it takes to get the other form.
How season, round and session are chosen¶
These three options work the same way in every results and image command, and all three are optional.
| You provide | What the bot uses |
|---|---|
| nothing | The current season, its latest round that actually has a session of the right kind, and the newest such session |
season only |
That season's latest round with a matching session |
season + round |
The newest matching session in that round |
session as well |
Exactly that session |
The command name decides the session kind: /race-results and /render-race-* look at races,
/qual-results and /render-qual-results at qualifying. The autocomplete lists only rounds and
sessions of the matching kind.
Sprint weekends
A sprint and a feature race are both race sessions in the same round. When you leave session
empty, the bot picks the feature race. To get the sprint, choose it explicitly from the
session list. The same applies to a round with two qualifying sessions — empty session gives
the later one (Qual 2).
Tip
Practice sessions are not supported by any command. If you point a command at one, it replies that the session is of the wrong kind.
How results are ordered¶
A driver row carries two positions, and they are not the same thing: where the car crossed the line, and the official classification after penalties have been applied. Every results view — embeds and image cards alike — sorts and numbers by the official one, because that is what the points and the gap in the same row belong to. A driver who finishes second and takes a five-second penalty is shown sixth, with the points and the time that go with sixth.
Drivers who are not classified — retirements and disqualifications — come last, among themselves
in the order they finished on track, and their position column shows — rather than a number. Their result is told by the time
column (DNF), not by a number from a classification they are not part of.
How rounds are counted¶
Where a command shows a rounds counter — 6/11 rounds in /standings, /season, /league and
their cards — it counts the rounds that score championship points. A league can put an event on
the calendar that is not part of the championship; the event stays in the calendar listing, marked
outside the championship, but it is not counted in that fraction.
One place stays calendar-based on purpose: the round label on a result (R7/16) is the round's place in the calendar, so both halves of it mean the same thing.
Which name goes where¶
Racing League Tools keeps two names for a season, and they mean different things: the championship name is the game and ruleset (for example F1 2025), while the season name is the season of your league (Pro League Season 11).
Every embed puts them in fixed places and never substitutes one for the other:
- Title — the season name.
- Footer — the championship name, ahead of the rest of the footer.
A missing name leaves its place empty instead of borrowing the other one, so a league that fills in only one of the two still gets a tidy embed.
/standings¶
Championship standings for a season.
| Option | Meaning |
|---|---|
season |
Season. Omitted = current. |
type |
Drivers (default) or Constructors. |
The table lists position, name, points and gap to the leader. The embed's colour stripe takes the leader's team colour. The title carries the season name — plus Constructors in that view — and the footer the championship name with the championship rounds completed so far, e.g. F1 2025 · 14/16 rounds.
For the same standings as an image card — the same field, plus wins, podiums and poles per row —
use /render-standings. In a multiclass season each row
also carries its class badge.
/race-results¶
Race results for one session.
| Option | Meaning |
|---|---|
season |
Season. Omitted = current. |
round |
Round. Omitted = latest round with a race. |
session |
Race session in that round. Omitted = the latest one. |
type |
Drivers (default) or Constructors. |
Shows the fastest lap of the session above the table, then positions with time or gap and points.
type:Constructors sums each team's points for that race instead. The season name is in the title;
the footer carries the championship name, the date, the lap count and how many drivers retired.
In a multiclass season the table gains a class column with each driver's
class badge. The top 10 is the overall one — to see one class on
its own, use the image card with class:.
For the same race as an image card, use /render-race-results.
/qual-results¶
Qualifying results for one session.
| Option | Meaning |
|---|---|
season |
Season. Omitted = current. |
round |
Round. Omitted = latest round with a qualifying session. |
session |
Qualifying session in that round. Omitted = the latest one. |
Shows pole position above the table, then positions with gap to pole and each driver's best lap. There is no constructors view here — qualifying awards no points. The footer carries the championship name, the date and how many drivers took part.
For the same session as an image card, use /render-qual-results.
/driver¶
Driver profile and statistics. The driver option is required; the rest select which slice of the
driver's history you want.
| Option | Meaning |
|---|---|
driver |
Driver. Start typing the name and pick from the list. |
season |
Statistics from that season only. |
multiseason |
Narrow the career to a group of seasons (as defined in your league). |
ratings |
Show telemetry ratings. Only works together with season. |
Three variants:
- Career (no
season, nomultiseason) — championships, wins, podiums, poles, best finish, seasons and events entered, races finished, total and per-season points, clean-race and reliability percentages. - Season (
seasonset) — championship position, points and gap, team, starts, races finished, best and average race and qualifying positions, DNFs and penalty time. The embed takes the driver's team colour for that season. - Group of seasons (
multiseasonset) — the career view, restricted to that group.
Note
If you set both season and multiseason, season wins. Telemetry ratings — pace, consistency,
attack, defense on a 0–10 scale — exist per season only, so ratings:true without season just
says so. A season whose results were entered by hand has no telemetry and therefore no ratings.
/head2head¶
Compares two drivers over a single season across ten metrics — position, points, wins, podiums, poles, best finish, average race and qualifying position, fastest laps and DNFs — and tallies who wins more of them.
| Option | Meaning |
|---|---|
driver1 + driver2 |
The two drivers to compare. |
team |
Compare a team's own two drivers. Use instead of driver1/driver2. |
season |
Season. Omitted = current. |
Pick either a team or two drivers — not both, and not just one driver. Each metric is marked for whoever is ahead, and the result reads like "🏆 Kowalski leads 7–3".
/season¶
Season overview.
| Option | Meaning |
|---|---|
season |
Season. Omitted = current. |
view |
Full calendar (default) or Upcoming. |
The full calendar lists every round with its status — ✅ done, ⏭️ skipped, ⏳ upcoming — and its date.
view:Upcoming lists only rounds still to come, with Discord's live timestamps: everyone sees the
date in their own time zone plus a countdown that keeps ticking. The listed time is the race
start where Racing League Tools publishes per-session times; where it only publishes when the round
begins, the entry says so.
For the same calendar as an image card, use /render-calendar —
at the cost of the live timestamps, which a PNG cannot carry.
/track¶
The history of one circuit in your league.
| Option | Meaning |
|---|---|
track |
Circuit. Required — pick it from the suggestions. |
multiseason |
Narrow the whole thing to a group of seasons. Omitted = all of them. |
The reply carries the lap record with the driver and season who set it, the fastest race lap when that is a different time, who has the most wins, podiums and poles there, the race-day numbers and the five most recent races.
A lap record is often set in qualifying, and the embed says so next to the time — without that, a qualifying lap reads like a race lap.
multiseason changes the numbers, it does not filter a list
Everything is recalculated inside the group. The same circuit can have one record across the whole league and a different one inside a single split, because the fastest lap of the league was set in a season that split does not contain. The group's name is shown under the title so the numbers are never read out of context.
Where the race-day numbers come from
Pit stops, top speed, safety cars and the fastest lap's tyre compound exist only for sessions recorded with live telemetry. The embed states how many of the races those numbers cover — live data: 4 of 6 races — because an average over four races is not an average over the circuit's whole history.
For the same circuit as an image card — with every main race rather than the last five — use
/render-track.
/team¶
A team's career across a group of seasons: titles, points, race and qualifying records, discipline and the drivers who built it.
| Option | Meaning |
|---|---|
multiseason |
Group of seasons. Required. |
team |
Team. Required — pick it from the suggestions. |
Both options are required, and multiseason is first because the team list depends on it.
Switch team statistics on first
Racing League Tools computes this block per multiseason, and only when the league enables team statistics for that multiseason in RLT Desktop. Until then the bot answers that the group has no team statistics and tells you where to switch them on. All Seasons never has them — it is not a real multiseason, so there is nothing to enable on it.
Teams arrive merged across seasons and carry their current name, so a team that was renamed keeps one history rather than splitting into two. The reply shows seasons entered, races and finish rate, total points with per-season and per-race averages, the best season, constructors' titles with runner-up finishes, wins, podiums and poles, DNFs, penalties and reliability, and the line-up with its top scorer — then the last eight seasons as a table.
For every season and the full line-up with each driver's share of the points, use
/render-team.
/league¶
Information about the league this server is linked to: how many seasons in total, how many active, how many archived, and the most recent seasons with their round progress.
/setup refresh¶
/setup refresh
Re-reads your league's seasons, rounds, teams and drivers from Racing League Tools straight away, and reports what came back. Manage Server only; the reply is private.
Results are always fetched live, so this is not about stale results — it is about the option
suggestions and the defaults built on them. Those lists are cached for a few minutes to keep
autocomplete inside Discord's three-second budget, which means a round or a driver added in RLT a
moment ago may not be offered yet. /setup refresh is the way to stop waiting.
Tip
The usual moment for it is right after adding a round or signing a new driver, when
/race-results without options still answers with the previous round.
/ping¶
Round-trip time and Discord gateway latency. Useful to confirm the bot is up before assuming a data command is broken.