- Добавлен classical в модель GamesStats
- Добавлена обработка classical в методе _process_games_by_mode
- Теперь команды /today, /yesterday и /week выводят информацию по классическим играм
- Форматтер уже поддерживает classical (emoji ♟️)
|
||
|---|---|---|
| .. | ||
| API_DOCUMENTATION.md | ||
| Dockerfile | ||
| lichess_client.py | ||
| main.py | ||
| models.py | ||
| README.md | ||
| requirements.txt | ||
| stats_service.py | ||
Lichess Statistics API
REST API сервис для получения статистики игроков Lichess.org по играм и решению задач.
Возможности
- Получение статистики за сегодняшний день
- Получение статистики за вчерашний день
- Получение статистики за последние 7 дней
- Поддержка режимов игры: Bullet, Blitz, Rapid
- Статистика по решению задач (пазлов)
- Расчет изменения рейтинга
- Подсчет побед, поражений и ничьих
Запуск с Docker
1. Сборка и запуск контейнера
# Сборка образа
docker-compose build
# Запуск сервиса
docker-compose up -d
2. Проверка работы
Сервис будет доступен по адресу: http://localhost:8000
- Документация API: http://localhost:8000/docs
- Проверка здоровья: http://localhost:8000/health
API Endpoints
Получить статистику за сегодня
GET /stats/{username}/today
Получить статистику за вчера
GET /stats/{username}/yesterday
Получить статистику за неделю
GET /stats/{username}/week
Примеры использования
Статистика за сегодня
curl http://localhost:8000/stats/vrubelroman/today
Статистика за вчера
curl http://localhost:8000/stats/vrubelroman/yesterday
Статистика за неделю
curl http://localhost:8000/stats/vrubelroman/week
Формат ответа
{
"message": "Статистика за сегодняшний день",
"data": {
"username": "vrubelroman",
"tasks": {
"total": 28,
"solved": 25,
"unsolved": 3
},
"games": {
"bullet": {
"games_played": 7,
"rating_change": 30,
"final_rating": 2320,
"wins": 5,
"losses": 0,
"draws": 0
},
"blitz": {
"games_played": 5,
"rating_change": 32,
"final_rating": 2224,
"wins": 5,
"losses": 0,
"draws": 0
},
"rapid": {
"games_played": 2,
"rating_change": -10,
"final_rating": 2210,
"wins": 1,
"losses": 1,
"draws": 0
}
}
}
}
Остановка сервиса
docker-compose down
Логи
Для просмотра логов:
docker-compose logs -f