Skip to content

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, no multiseason) — championships, wins, podiums, poles, best finish, seasons and events entered, races finished, total and per-season points, clean-race and reliability percentages.
  • Season (season set) — 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 (multiseason set) — 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.