LichessStatTgWeb/LichessClientTG_bot/README.md
vrubelroman a08fc8c962 Создание единого проекта Lichess Statistics Ecosystem
- Объединены три проекта в один репозиторий
- LichessWebServices - REST API для статистики
- LichessClientTG_bot - Telegram бот с поддержкой множества пользователей
- LichessWebView - Веб-интерфейс для просмотра пользователей и игроков
- Добавлен общий docker-compose.yml для запуска всех сервисов
- Добавлен скрипт start.sh для удобного запуска
- Добавлен README с полным описанием проекта
2025-10-26 20:23:26 +03:00

116 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Lichess Telegram Bot
Телеграм бот для получения статистики игроков Lichess с использованием вашего веб-сервиса.
## Возможности
- **Добавление пользователей**: Добавление игроков Lichess с токеном или без
- **Выбор активного игрока**: Глобальный выбор активного игрока для всех чатов
- **Статистика**: Получение статистики за сегодня, вчера и неделю
- **Периодические уведомления**: Настройка автоматических уведомлений о активности игрока
## Команды
- `/start` - Начать работу с ботом
- `/adduser` - Добавить нового игрока Lichess
- `/getgamers` - Выбрать активного игрока
- `/today` - Статистика за сегодня
- `/yesterday` - Статистика за вчера
- `/week` - Статистика за неделю
- `/setperiod` - Настроить периодические уведомления
## Установка и запуск
### С помощью Docker (рекомендуется)
1. Убедитесь, что ваш Lichess API сервис запущен на `http://localhost:8001`
2. Запустите бота:
```bash
docker-compose up -d
```
3. Проверьте логи:
```bash
docker-compose logs -f lichess-bot
```
### Локальная установка
1. Установите зависимости:
```bash
pip install -r requirements.txt
```
2. Скопируйте файл конфигурации:
```bash
cp .env.example .env
```
3. Запустите бота:
```bash
python bot.py
```
## Конфигурация
Основные настройки находятся в файле `config.py`:
- `TELEGRAM_BOT_TOKEN` - Токен вашего телеграм бота
- `LICHESS_STATS_API_BASE_URL` - URL вашего веб-сервиса (по умолчанию `http://localhost:8001`)
- `PERIOD_OPTIONS` - Доступные периоды для уведомлений
- `POLL_INTERVAL` - Интервал опроса Telegram API (1.0 секунда)
- `POLL_TIMEOUT` - Таймаут для Long Polling (30 секунд)
- `DROP_PENDING_UPDATES` - Игнорировать накопившиеся обновления при запуске
- `ALLOWED_UPDATES` - Типы обновлений для обработки
## Структура проекта
```
├── bot.py # Основной файл бота
├── database.py # Работа с базой данных SQLite
├── lichess_api.py # API клиент для Lichess и вашего сервиса
├── formatters.py # Форматирование ответов
├── config.py # Конфигурация
├── requirements.txt # Python зависимости
├── Dockerfile # Docker образ
├── docker-compose.yml # Docker Compose конфигурация
└── README.md # Документация
```
## API Endpoints
Бот использует следующие endpoints вашего сервиса:
- `GET /today/{username}` - Статистика за сегодня
- `GET /yesterday/{username}` - Статистика за вчера
- `GET /week/{username}` - Статистика за неделю
- `GET /games/{username}/period` - Игры за период
- `GET /puzzle/period` - Задачи за период (требует токен)
## База данных
Используется SQLite база данных с таблицами:
- `gamers` - Игроки Lichess
- `chat_active_gamers` - Активные игроки по чатам (не используется для глобального режима)
## Логирование
Бот ведет подробные логи всех операций. В Docker контейнере логи можно просмотреть командой:
```bash
docker-compose logs -f lichess-bot
```
## Мониторинг
Docker Compose включает health checks для мониторинга состояния сервисов.
## Поддержка
При возникновении проблем проверьте:
1. Запущен ли ваш Lichess API сервис на порту 8001
2. Правильность токена телеграм бота
3. Логи контейнера на наличие ошибок