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