Vote API
Публічний API: отримати список голосів і перевірити, чи голосував гравець (за Discord або нікнеймом). Підходить для Discord-ботів.
Оновлено 13 жовтня 2026 р.
Публічний API голосувань дозволяє вашим інтеграціям читати голоси сервера: отримувати список голосів, перевіряти, чи голосував конкретний гравець, і переглядати статистику. Найчастіше його використовують, щоб Discord-бот видавав ранг або винагороду тим, хто проголосував.
Доступ лише для читання — змінити голоси через API ви не можете.
Отримання API-ключа
- Відкрийте сторінку свого сервера та пройдіть підтвердження власника.
- У налаштуваннях сервера відкрийте розділ «API keys» і натисніть «Create key».
- Скопіюйте ключ, який має вигляд
rsk_live_…— він показується лише один раз. Зберігайте його як пароль.
Ви можете обмежити ключ одним сервером або видати його для всіх своїх серверів. Відкличте скомпрометований ключ у тому самому розділі та створіть новий.
Важливо: не публікуйте ключ у відкритому коді, репозиторії чи загальнодоступній конфігурації бота. Якщо ключ витік, відкличте його.
Базова URL-адреса та авторизація
Базова URL-адреса: https://api.millida.net/v2/rating/api
Ключ передається в заголовку X-Api-Key (або Authorization: Bearer …):
curl https://api.millida.net/v2/rating/api/stats \
-H "X-Api-Key: rsk_live_YOUR_KEY"
Якщо ключ видано для всіх серверів власника, додайте параметр serverId до кожного запиту. Для ключа, прив'язаного до одного сервера, цей параметр можна не вказувати.
Перевірка голосу гравця
Основний сценарій для Discord-бота: «чи голосувала ця людина». Ендпоінт — GET /votes/check.
Параметри:
discordIdабоnickname— кого ви перевіряєте (потрібен один із них);since— період:today(типово, від початку дня за UTC) або кількість годин чи днів —24h,7d,30d;serverId— обов'язковий, якщо ключ видано для всіх серверів.
curl "https://api.millida.net/v2/rating/api/votes/check?discordId=123456789012345678&since=today" \
-H "X-Api-Key: rsk_live_YOUR_KEY"
Відповідь:
{
"voted": true,
"serverId": "srv…",
"voteId": "clx…",
"votedAt": "2026-06-16T10:12:00.000Z",
"discordId": "123456789012345678",
"nickname": "Steve",
"since": "2026-06-16T00:00:00.000Z"
}
Якщо voted дорівнює true, гравець зробив зарахований голос за вибраний період. Зараховуються лише дійсні голоси (накрутка та відхилені голоси не зараховуються.)
Про перевірку за Discord: голос прив'язується до акаунта Discord, лише якщо гравець указав його у своєму профілі Millida. Якщо в деяких гравців Discord не прив'язаний, перевіряйте за
nicknameабо попросіть гравців прив'язати Discord у профілі.
Список голосів
GET /votes повертає голоси сервера від найновіших до найстаріших.
Параметри (усі необов'язкові):
status—VALID,HELD,REJECTED_FRAUD,REJECTED_RATE_LIMIT,REJECTED_NO_PLAY_HISTORYабоALL(типово повертаються всі);discordId,nickname— фільтр за гравцем;from,to— діапазон дат у форматі ISO;limit— скільки повернути (1–200, типово 50);cursor— курсор наступної сторінки з поляnextCursor.
curl "https://api.millida.net/v2/rating/api/votes?status=VALID&limit=100" \
-H "X-Api-Key: rsk_live_YOUR_KEY"
Відповідь:
{
"votes": [
{
"id": "clx…",
"serverId": "srv…",
"discordId": "123456789012345678",
"nickname": "Steve",
"status": "VALID",
"votedAt": "2026-06-16T10:12:00.000Z"
}
],
"nextCursor": "eyJ…"
}
Щоб отримати наступну сторінку, повторіть запит, вказавши в cursor значення nextCursor. Коли nextCursor дорівнює null, даних більше немає. IP-адреси тих, хто голосував, через API не передаються.
Статистика
GET /stats повертає підсумкові лічильники для сервера:
{
"serverId": "srv…",
"validToday": 42,
"valid24h": 50,
"valid30d": 1280,
"totalValid": 9001,
"totalAll": 9500
}
Приклад: Discord-бот видає роль за голосування
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;
}
Викличте цю функцію командою Discord і видайте роль, якщо гравець проголосував.
Обмеження
- API працює лише для читання.
- Частота запитів обмежена — цього більш ніж достатньо для перевірки за командою. Не опитуйте API в щільному циклі.
- Ключ бачить голоси лише ваших серверів.