Kirino fournit une API REST que vous pouvez utiliser pour récupérer les données d'XP d'un serveur.
L'URL de l'API est https://kirino.xyz/api/v1/leaderboards
. Vous devez fournir certaines informations à l'API afin d'obtenir une leaderboard, en utilisant des paramètres GET :
id
est le seul requis et doit être un ID de serveur valide.limit
vous permet de modifier le nombre d'entrées de la leaderboard qui seront renvoyées. Par défaut, les 20 premières entrées sont renvoyées. En utilisant ce paramètre, vous pouvez modifier ce nombre par n'importe quelle valeur entre 1 et 100. Cette limite est présente pour des raisons de performances.page
est la page à laquelle vous voulez accéder. Vous pouvez imaginer que la leaderboard est divisée en pages de la taille du paramètre limit
. Par défaut, la 1ère page est retournée, mais vous pouvez accéder à une autre page en utilisant ce paramètre (par exemple, si vous fixez limit
à 2 et page
à 2, vous obtenez les 3ème et 4ème entrées). La page doit être > 0.Un exemple serait de faire une requête GET à https://kirino.xyz/api/v1/leaderboards?id=742720465260380220&limit=1
.
Souvenez vous que le seul paramètre requis est id
. Si vous ne précisez pas les autres, leurs valeurs par défaut seront utilisées à la place.
La réponse de l'API contient des données JSON. Si la requête est traitée avec succès (le code de statut HTTP sera dans les 2XX), le contenu JSON sera formaté comme ceci :
{
"guild_metadata": {
"id": "742720465260380220",
"name": "Kirino support",
"icon": "https://cdn.discordapp.com/icons/742720465260380220/5aaff0ff7d64fae1407fca1658897a36.png?size=128",
"players": 33
},
"players": [
{
"id": "327113301198766082",
"tag": "Elf",
"avatar": "https://cdn.discordapp.com/avatars/327113301198766082/d30b854d2d59a9e159603902f34fda07.webp?size=128",
"xp": 390,
"total_xp": 4110,
"level": 9,
"color": "#FF0000",
"rank": 1
}
]
}
Le tableau players
contiendra autant d'entrées que vous l'aurez défini avec le paramètre limit
.
Si une erreur s'est produite (le code de statut HTTP n'est pas dans les 2XX), le contenu JSON sera comme ceci :
{
"errors": [
"I didn't find the specified server. Please ensure that the ID you provided is a valid server ID and that Kirino has access to it."
]
}
Des erreurs peuvent se produire pour diverses raisons : trop de requêtes reçues trop rapidement, pas d'ID de serveur fourni, serveur non trouvé, limite invalide, page invalide...
Si vous avez la moindre question à propos de l'API, vous pouvez rejoindre le serveur Discord de support pour poser vos questions.