Vote API
Javni API: preuzmi listu glasova i proveri da li je igrač glasao (preko Discord-a ili nadimka). Pogodno za Discord botove.
Ažurirano 13. oktobar 2026.
API javnih glasova omogućava tvojim integracijama da čitaju glasove servera: da preuzmu listu glasova, provere da li je određeni igrač glasao i pregledaju statistiku. Najčešće se koristi da Discord bot dodeli rang ili nagradu onima koji su glasali.
Pristup je samo za čitanje — ne možeš menjati glasove preko API-ja.
Pribavljanje API ključa
- Otvori stranicu svog servera i završi verifikaciju vlasnika.
- U podešavanjima servera otvori sekciju „API keys” i klikni na „Create key”.
- Kopiraj ključ, koji izgleda kao
rsk_live_…— prikazuje se samo jednom. Čuvaj ga kao lozinku.
Ključ možeš ograničiti na jedan server ili ga izdati za sve svoje servere. Kompromitovan ključ opozovi u istoj sekciji i kreiraj novi.
Važno: ne objavljuj ključ u otvorenom kodu, repozitorijumu ili javno dostupnoj konfiguraciji bota. Ako ključ procure, opozovi ga.
Osnovni URL i autorizacija
Osnovni URL: https://api.millida.net/v2/rating/api
Ključ se prosleđuje u zaglavlju X-Api-Key (ili Authorization: Bearer …):
curl https://api.millida.net/v2/rating/api/stats \
-H "X-Api-Key: rsk_live_YOUR_KEY"
Ako je ključ izdat za sve servere zakupca, dodaj parametar serverId u svaki zahtev. Za ključ vezan za jedan server, ovaj parametar možeš izostaviti.
Provera igračevog glasa
Glavni scenario za Discord bot: „da li je ova osoba glasala”. Endpoint je GET /votes/check.
Parametri:
discordIdilinickname— koga proveravaš (jedan od njih je obavezan);since— period:today(podrazumevano, od početka dana po UTC) ili broj sati ili dana —24h,7d,30d;serverId— obavezan ako je ključ izdat za sve servere.
curl "https://api.millida.net/v2/rating/api/votes/check?discordId=123456789012345678&since=today" \
-H "X-Api-Key: rsk_live_YOUR_KEY"
Odgovor:
{
"voted": true,
"serverId": "srv…",
"voteId": "clx…",
"votedAt": "2026-06-16T10:12:00.000Z",
"discordId": "123456789012345678",
"nickname": "Steve",
"since": "2026-06-16T00:00:00.000Z"
}
Ako je voted true, igrač je dao uračunat glas za izabrani period. Računaju se samo važeći glasovi (botovanje i odbijeni glasovi se ne računaju.)
O proveri preko Discord-a: glas se povezuje sa Discord nalogom samo ako ga je igrač naveo u svom Millida profilu. Ako neki igrači nemaju povezan Discord, proveravaj preko
nicknameili zamoli igrače da povežu Discord u profilu.
Lista glasova
GET /votes vraća glasove servera od najnovijeg ka najstarijem.
Parametri (svi opcionalni):
status—VALID,HELD,REJECTED_FRAUD,REJECTED_RATE_LIMIT,REJECTED_NO_PLAY_HISTORYiliALL(podrazumevano se vraćaju svi);discordId,nickname— filter po igraču;from,to— opseg datuma u ISO formatu;limit— koliko da se vrati (1–200, podrazumevano 50);cursor— kursor sledeće stranice iz poljanextCursor.
curl "https://api.millida.net/v2/rating/api/votes?status=VALID&limit=100" \
-H "X-Api-Key: rsk_live_YOUR_KEY"
Odgovor:
{
"votes": [
{
"id": "clx…",
"serverId": "srv…",
"discordId": "123456789012345678",
"nickname": "Steve",
"status": "VALID",
"votedAt": "2026-06-16T10:12:00.000Z"
}
],
"nextCursor": "eyJ…"
}
Da dobiješ sledeću stranicu, ponovi zahtev sa cursor postavljenim na nextCursor. Kada je nextCursor null, nema više podataka. IP adrese glasača se ne prosleđuju kroz API.
Statistika
GET /stats vraća zbirne brojače za server:
{
"serverId": "srv…",
"validToday": 42,
"valid24h": 50,
"valid30d": 1280,
"totalValid": 9001,
"totalAll": 9500
}
Primer: Discord bot dodeljuje rolu za glasanje
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;
}
Pozovi ovu funkciju Discord komandom i dodeli rolu ako je igrač glasao.
Ograničenja
- API je samo za čitanje.
- Brzina zahteva je ograničena — to je više nego dovoljno za proveru na komandu. Ne anketiraj API u uskoj petlji.
- Ključ vidi samo glasove sa tvojih servera.