Создание единого проекта Lichess Statistics Ecosystem
- Объединены три проекта в один репозиторий - LichessWebServices - REST API для статистики - LichessClientTG_bot - Telegram бот с поддержкой множества пользователей - LichessWebView - Веб-интерфейс для просмотра пользователей и игроков - Добавлен общий docker-compose.yml для запуска всех сервисов - Добавлен скрипт start.sh для удобного запуска - Добавлен README с полным описанием проекта
This commit is contained in:
commit
a08fc8c962
32 changed files with 4990 additions and 0 deletions
116
LichessClientTG_bot/README.md
Normal file
116
LichessClientTG_bot/README.md
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
# 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. Логи контейнера на наличие ошибок
|
||||
Loading…
Add table
Add a link
Reference in a new issue