API de vote
API publique : obtenir la liste des votes et vérifier si un joueur a voté (par Discord ou pseudo). Adaptée aux bots Discord.
Mis à jour le 13 octobre 2026
L'API des votes publics permet à vos intégrations de lire les votes d'un serveur : récupérer la liste des votes, vérifier si un joueur précis a voté et consulter les statistiques. On l'utilise le plus souvent pour qu'un bot Discord attribue un grade ou une récompense à ceux qui ont voté.
L'accès est en lecture seule — vous ne pouvez pas modifier les votes via l'API.
Obtenir une clé API
- Ouvrez la page de votre serveur et effectuez la vérification du propriétaire.
- Dans les paramètres du serveur, ouvrez la section « Clés API » et cliquez sur « Créer une clé ».
- Copiez la clé, qui ressemble à
rsk_live_…— elle n'est affichée qu'une seule fois. Conservez-la comme un mot de passe.
Vous pouvez restreindre une clé à un seul serveur ou l'émettre pour tous vos serveurs. Révoquez une clé compromise dans la même section et créez-en une nouvelle.
Important : ne publiez pas la clé dans du code open source, un dépôt ou une configuration de bot accessible publiquement. Si la clé fuite, révoquez-la.
URL de base et autorisation
URL de base : https://api.millida.net/v2/rating/api
La clé est transmise dans l'en-tête X-Api-Key (ou Authorization: Bearer …) :
curl https://api.millida.net/v2/rating/api/stats \
-H "X-Api-Key: rsk_live_YOUR_KEY"
Si la clé a été émise pour tous les serveurs du tenant, ajoutez le paramètre serverId à chaque requête. Pour une clé liée à un seul serveur, vous pouvez omettre ce paramètre.
Vérifier le vote d'un joueur
Le scénario principal pour un bot Discord : « cette personne a-t-elle voté ». Le point d'accès est GET /votes/check.
Paramètres :
discordIdounickname— qui vous vérifiez (l'un des deux est obligatoire) ;since— la période :today(par défaut, depuis le début de la journée en UTC) ou un nombre d'heures ou de jours —24h,7d,30d;serverId— obligatoire si la clé a été émise pour tous les serveurs.
curl "https://api.millida.net/v2/rating/api/votes/check?discordId=123456789012345678&since=today" \
-H "X-Api-Key: rsk_live_YOUR_KEY"
Réponse :
{
"voted": true,
"serverId": "srv…",
"voteId": "clx…",
"votedAt": "2026-06-16T10:12:00.000Z",
"discordId": "123456789012345678",
"nickname": "Steve",
"since": "2026-06-16T00:00:00.000Z"
}
Si voted vaut true, le joueur a émis un vote comptabilisé pour la période choisie. Seuls les votes valides sont comptés (le botting et les votes rejetés ne sont pas comptés.)
À propos de la vérification par Discord : un vote est lié à un compte Discord uniquement si le joueur l'a indiqué dans son profil Millida. Si certains joueurs n'ont pas Discord lié, vérifiez par
nicknameou demandez aux joueurs de lier Discord dans leur profil.
Liste des votes
GET /votes renvoie les votes du serveur du plus récent au plus ancien.
Paramètres (tous facultatifs) :
status—VALID,HELD,REJECTED_FRAUD,REJECTED_RATE_LIMIT,REJECTED_NO_PLAY_HISTORYouALL(tous sont renvoyés par défaut) ;discordId,nickname— filtrer par joueur ;from,to— plage de dates au format ISO ;limit— combien en renvoyer (1–200, par défaut 50) ;cursor— le curseur de la page suivante issu du champnextCursor.
curl "https://api.millida.net/v2/rating/api/votes?status=VALID&limit=100" \
-H "X-Api-Key: rsk_live_YOUR_KEY"
Réponse :
{
"votes": [
{
"id": "clx…",
"serverId": "srv…",
"discordId": "123456789012345678",
"nickname": "Steve",
"status": "VALID",
"votedAt": "2026-06-16T10:12:00.000Z"
}
],
"nextCursor": "eyJ…"
}
Pour obtenir la page suivante, répétez la requête avec cursor défini sur nextCursor. Quand nextCursor vaut null, il n'y a plus de données. Les adresses IP des votants ne sont pas transmises via l'API.
Statistiques
GET /stats renvoie les compteurs récapitulatifs du serveur :
{
"serverId": "srv…",
"validToday": 42,
"valid24h": 50,
"valid30d": 1280,
"totalValid": 9001,
"totalAll": 9500
}
Exemple : un bot Discord attribue un rôle pour un vote
async function hasVotedToday(discordId) {
const res = await fetch(
`https://api.millida.net/v2/rating/api/votes/check?discordId=${discordId}&since=today`,
{ headers: { "X-Api-Key": process.env.MILLIDA_RATING_KEY } },
);
const data = await res.json();
return data.voted === true;
}
Appelez cette fonction avec une commande Discord et attribuez le rôle si le joueur a voté.
Limitations
- L'API est en lecture seule.
- Le débit des requêtes est limité — c'est largement suffisant pour une vérification sur commande. Ne sondez pas l'API en boucle serrée.
- Une clé ne voit que les votes de vos serveurs.