LichessStatTgWeb/CHANGELOG.md
2025-11-20 14:19:08 +03:00

7.3 KiB
Raw Blame History

Changelog

Все значимые изменения в проекте документируются в этом файле.

[1.1.0] - 2025-11-20

Добавлено

  • Многоязычная поддержка: Добавлена поддержка русского и английского языков
    • Автоматическое определение языка пользователя при первом использовании бота (на основе language_code из Telegram)
    • Команда /set_lang для ручного выбора языка (🇬🇧 English / 🇷🇺 Русский)
    • Все сообщения бота теперь отображаются на выбранном пользователем языке
    • Поле bot_language в таблице telegram_users для хранения предпочтений пользователя
  • Очередь запросов: Добавлена система очереди запросов для периодических уведомлений
    • Минимальная задержка 7 секунд между запросами к Lichess API
    • Предотвращение rate limiting и блокировок со стороны Lichess
    • Асинхронная обработка запросов через RequestQueue
  • Статистика языков в веб-интерфейсе:
    • Отображение языка пользователя (🇷🇺 ru / 🇬🇧 en) рядом с именем пользователя
    • Процент пользователей с русским языком в статистике веб-интерфейса

Исправлено

  • Логика определения "сегодня" и "вчера": Исправлена логика команд /today и /yesterday
    • Правильное определение интервалов активности Lichess API
    • /today теперь показывает только интервалы, которые начинаются сегодня
    • /yesterday показывает интервалы, которые заканчиваются вчера или начинаются вчера и заканчиваются сегодня
    • Исправлена проблема, когда один интервал попадал под оба условия

Изменено

  • База данных: Добавлено поле bot_language в таблицу telegram_users с миграцией для существующих пользователей
  • Периодические уведомления: Теперь используют очередь запросов вместо прямых вызовов API
  • Веб-интерфейс: Добавлено отображение языка пользователя и статистики по языкам

Технические детали

  • Добавлен модуль request_queue.py для управления очередью запросов
  • Обновлен i18n.py с полными переводами на русский язык
  • Обновлена логика в stats_service.py для правильного определения интервалов активности
  • Добавлена миграция базы данных для поддержки bot_language

[1.0.1] - 2025-11-16

Добавлено

  • Версионность бота: Добавлена версия бота (BOT_VERSION), отображаемая в команде /support
  • Команда /support: Добавлена команда для связи с разработчиком, включающая контактную информацию и версию бота
  • Команда /lastYear_or_1000games: Добавлена команда для получения статистики за последний год или последние 1000 рейтинговых игр
  • Множественное отслеживание: Команды /today, /yesterday, /week теперь показывают статистику по всем отслеживаемым игрокам с активностью, а не только по активному игроку
  • Информативные сообщения: Добавлены сообщения о процессе обработки запросов для всех команд статистики
  • Автоматическое удаление сообщений: Сообщения "Requesting data for player..." автоматически удаляются после обработки запроса
  • Финальные сообщения: Добавлено сообщение " That's all" после завершения обработки всех игроков

Изменено

  • Команда /delgamer: Улучшена логика с информативными сообщениями при удалении активного или последнего игрока
  • Команда /setperiod: Улучшено форматирование интервалов времени (отображение в часах для значений >= 60 минут)
  • Логика команд статистики: Все команды статистики теперь обрабатывают всех игроков пользователя последовательно
  • Задержки между запросами:
    • Для команд /today, /yesterday, /week: 1 секунда между запросами
    • Для команды /lastYear_or_1000games: 3 секунды между запросами (из-за больших объемов данных)
  • Конфигурация токенов: Добавлена поддержка переключения между тестовыми и продакшн токенами через флаг IS_PROD

Улучшено

  • Производительность: Оптимизирована обработка запросов с учетом ограничений API
  • Пользовательский опыт: Более информативные сообщения и лучшая обратная связь о процессе обработки
  • Документация: Обновлены README.md и about.md с описанием всех новых функций

Технические детали

  • Добавлены новые ключи в i18n.py для сообщений о процессе обработки
  • Улучшена обработка ошибок в командах статистики
  • Оптимизированы задержки между запросами для предотвращения rate limiting

[1.0.0] - Начальная версия

Добавлено

  • Базовая функциональность Telegram бота
  • Команды для управления отслеживанием игроков
  • Статистика за сегодня/вчера/неделю
  • Периодические уведомления
  • Веб-интерфейс для просмотра пользователей
  • REST API для получения статистики