curl 'https://stats.kalenich.sbs/api/discord-icons?server=02'
curl 'https://stats.kalenich.sbs/api/discord-icons'
{
"server": {
"number": 2,
"name": "Tucson",
"guildId": "599706379296440320",
"iconUrl": "https://cdn.discordapp.com/icons/599706379296440320/12fa55816eb96d4e2b76f952c70f61e0.png?size=256",
"bannerUrl": "https://cdn.discordapp.com/banners/599706379296440320/b0409e748a3df8b54685d01d5f9534c4.png?size=1024"
}
}
{
"error": "server_not_found"
}
Kalenich Stats
Получить иконки и баннеры
Текущие изображения Discord-серверов независимо от наличия статистических отчётов.
GET
/
api
/
discord-icons
curl 'https://stats.kalenich.sbs/api/discord-icons?server=02'
curl 'https://stats.kalenich.sbs/api/discord-icons'
{
"server": {
"number": 2,
"name": "Tucson",
"guildId": "599706379296440320",
"iconUrl": "https://cdn.discordapp.com/icons/599706379296440320/12fa55816eb96d4e2b76f952c70f61e0.png?size=256",
"bannerUrl": "https://cdn.discordapp.com/banners/599706379296440320/b0409e748a3df8b54685d01d5f9534c4.png?size=1024"
}
}
{
"error": "server_not_found"
}
Получите ссылки на текущие иконки и баннеры одного сервера или всего каталога. Метод публичный, авторизация не требуется. Даты и период передавать не нужно.
Изображения отражают текущее состояние метаданных. Это относится и к
Ограничения CORS и возможные ответы прокси совпадают с методом статистики. Подробнее — «Ошибки API».
GET https://stats.kalenich.sbs/api/discord-icons
Метод возвращает JSON со ссылками на Discord CDN. Он не отдаёт файл изображения и не перенаправляет на него.
Параметры запроса
string
Номер сервера (
2 или 02) либо полный Discord ID строкой. Допускаются от 1 до 20 цифр. Без параметра возвращается весь каталог. Пустое значение недопустимо.Формат ответа
- Один сервер
- Все серверы
При
?server=02 возвращается объект server со сведениями о выбранном сервере.Условный пример: изображения отсутствуют
{
"server": {
"number": 2,
"name": "Пример сервера",
"guildId": "123456789012345678",
"iconUrl": null,
"bannerUrl": null
}
}
Без
server возвращаются массив servers и число серверов totalServers.Условный пример каталога из одного сервера
{
"servers": [
{
"number": 2,
"name": "Пример сервера",
"guildId": "123456789012345678",
"iconUrl": null,
"bannerUrl": null
}
],
"totalServers": 1
}
| Поле сервера | Тип | Описание |
|---|---|---|
number | number | Номер сервера в каталоге |
name | string | Название сервера |
guildId | string | Discord ID сервера; храните строкой |
iconUrl | string или null | Текущая иконка: Discord CDN, 256 px, PNG; для анимированной иконки — GIF |
bannerUrl | string или null | Текущий баннер: Discord CDN, 1024 px, PNG; для анимированного баннера — GIF |
Доступность изображений
iconUrl или bannerUrl могут быть null, если изображения нет либо его метаданные ещё не получены. При недоступных или повреждённых метаданных API может вернуть 200 с iconUrl: null.
Иконка и баннер обновляются сборщиком вместе. Старые файлы метаданных без баннера возвращают bannerUrl: null до обновления. HTTP-запрос не запускает получение новых метаданных из Discord.
Предусмотрите заглушку для
null и ошибки загрузки изображения. Отсутствие иконки или баннера само по себе не означает, что сервер не существует или что его статистика недоступна.iconUrl и bannerUrl внутри статистики за прошлые периоды: они не являются историческими снимками оформления сервера.
HTTP-ответы
| Код | Ошибка | Причина |
|---|---|---|
200 | — | Успешный ответ, включая отсутствие изображения |
400 | invalid_server | Неверный формат номера или ID, в том числе пустое значение |
404 | server_not_found | Сервер отсутствует в доступном каталоге |
405 | method_not_allowed | Метод, отличный от GET или HEAD |
500 | internal_error | Внутренняя ошибка приложения |
curl 'https://stats.kalenich.sbs/api/discord-icons?server=02'
curl 'https://stats.kalenich.sbs/api/discord-icons'
{
"server": {
"number": 2,
"name": "Tucson",
"guildId": "599706379296440320",
"iconUrl": "https://cdn.discordapp.com/icons/599706379296440320/12fa55816eb96d4e2b76f952c70f61e0.png?size=256",
"bannerUrl": "https://cdn.discordapp.com/banners/599706379296440320/b0409e748a3df8b54685d01d5f9534c4.png?size=1024"
}
}
{
"error": "server_not_found"
}