LichessStatTgWeb/LichessClientTG_bot
2025-11-16 23:10:08 +03:00
..
admin_bot.py add system messages 2025-11-13 15:07:53 +03:00
bot.py messages when doing questions 2025-11-16 23:10:08 +03:00
config.py messages when doing questions 2025-11-16 23:10:08 +03:00
database.py bug fixed /addplayer 2025-11-16 13:38:25 +03:00
Dockerfile Создание единого проекта Lichess Statistics Ecosystem 2025-10-26 20:23:26 +03:00
Dockerfile.admin admin panel 2025-11-13 01:00:48 +03:00
formatters.py fix /start and lastYear_or_1000games 2025-11-16 20:07:52 +03:00
i18n.py messages when doing questions 2025-11-16 23:10:08 +03:00
lichess_api.py add lastYear_or_1000games 2025-11-16 12:48:23 +03:00
message_counters.py add statistics 2025-11-13 13:32:46 +03:00
migrate_tokens.py Исправление двойного ответа и улучшение системы 2025-10-28 21:34:35 +03:00
README.md Создание единого проекта Lichess Statistics Ecosystem 2025-10-26 20:23:26 +03:00
requirements.txt Создание единого проекта Lichess Statistics Ecosystem 2025-10-26 20:23:26 +03:00
run.sh Создание единого проекта Lichess Statistics Ecosystem 2025-10-26 20:23:26 +03:00
view_db.py Создание единого проекта Lichess Statistics Ecosystem 2025-10-26 20:23:26 +03:00

Lichess Telegram Bot

Телеграм бот для получения статистики игроков Lichess с использованием вашего веб-сервиса.

Возможности

  • Добавление пользователей: Добавление игроков Lichess с токеном или без
  • Выбор активного игрока: Глобальный выбор активного игрока для всех чатов
  • Статистика: Получение статистики за сегодня, вчера и неделю
  • Периодические уведомления: Настройка автоматических уведомлений о активности игрока

Команды

  • /start - Начать работу с ботом
  • /adduser - Добавить нового игрока Lichess
  • /getgamers - Выбрать активного игрока
  • /today - Статистика за сегодня
  • /yesterday - Статистика за вчера
  • /week - Статистика за неделю
  • /setperiod - Настроить периодические уведомления

Установка и запуск

С помощью Docker (рекомендуется)

  1. Убедитесь, что ваш Lichess API сервис запущен на http://localhost:8001

  2. Запустите бота:

docker-compose up -d
  1. Проверьте логи:
docker-compose logs -f lichess-bot

Локальная установка

  1. Установите зависимости:
pip install -r requirements.txt
  1. Скопируйте файл конфигурации:
cp .env.example .env
  1. Запустите бота:
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 контейнере логи можно просмотреть командой:

docker-compose logs -f lichess-bot

Мониторинг

Docker Compose включает health checks для мониторинга состояния сервисов.

Поддержка

При возникновении проблем проверьте:

  1. Запущен ли ваш Lichess API сервис на порту 8001
  2. Правильность токена телеграм бота
  3. Логи контейнера на наличие ошибок