LichessStatTgWeb/CHANGELOG.md

79 lines
7.3 KiB
Markdown
Raw Normal View History

2025-11-16 23:10:08 +03:00
# Changelog
Все значимые изменения в проекте документируются в этом файле.
2025-11-20 14:19:08 +03:00
## [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`
2025-11-16 23:10:08 +03:00
## [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 для получения статистики