View as Markdown

Leaderboards

Read more about the Leaderboards system in Hiro here.

The methods below require Hiro 1.33 or later. If you are on an earlier version, see Hiro 1.32 and earlier.

Get all leaderboards #

List all available leaderboards.

1
2
3
4
const request = new LeaderboardListRequest();

const leaderboardList = await hiroClient.leaderboardList(session, request);
console.log(leaderboardList);

Filter by category:

1
2
3
4
5
const request = new LeaderboardListRequest();
request.categories = ["Tournament"];

const leaderboardList = await hiroClient.leaderboardList(session, request);
console.log(leaderboardList);

Get a leaderboard #

Get a specified leaderboard by ID.

1
2
3
4
5
const request = new LeaderboardGet();
request.id = "GalacticChampions";

const leaderboard = await hiroClient.leaderboardGet(session, request);
console.log(leaderboard);

Submit a score #

Submit a score to a leaderboard.

1
2
3
4
5
6
7
const request = new LeaderboardUpdate();
request.id = "GalacticChampions";
request.setScoreNumeric(1500);
request.setSubscoreNumeric(0);

const leaderboardScore = await hiroClient.leaderboardUpdate(session, request);
console.log(leaderboardScore);

List scores #

List scores on a leaderboard. Pass owner_ids to retrieve scores for specific owners.

1
2
3
4
5
6
7
const request = new LeaderboardScoresListRequest();
request.id = "GalacticChampions";
request.owner_ids = ["userId1", "userId2"];
request.limit = 100;

const scoreList = await hiroClient.leaderboardScoresList(session, request);
console.log(scoreList);

Filter by region:

1
2
3
4
5
6
7
const request = new LeaderboardScoresListRequest();
request.id = "GalacticChampions";
request.region = "EU";
request.limit = 100;

const scoreList = await hiroClient.leaderboardScoresList(session, request);
console.log(scoreList);

List scores around owner #

List scores centred around a specific owner.

1
2
3
4
5
6
7
const request = new LeaderboardScoresListAroundOwnerRequest();
request.id = "GalacticChampions";
request.owner_id = session.user_id;
request.limit = 10;

const scoreList = await hiroClient.leaderboardScoresListAroundOwner(session, request);
console.log(scoreList);

Hiro 1.32 and earlier #

Prior to Hiro 1.33, leaderboardsConfigGet was the only way to retrieve available leaderboards, returning a LeaderboardConfigList with basic configuration data. This method is deprecated in Hiro 1.33 and later. Use leaderboardList instead.

1
2
const leaderboardConfigList = await hiroClient.leaderboardsConfigGet(session);
console.log(leaderboardConfigList);