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

78 lines
7.3 KiB
Markdown
Raw Permalink 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.

# 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 для получения статистики