diff --git a/CHANGELOG.md b/CHANGELOG.md index f99d81c..dacd554 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,40 @@ Все значимые изменения в проекте документируются в этом файле. +## [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 ### Добавлено diff --git a/README.md b/README.md index 202113d..f14ad50 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,8 @@ Telegram бот для управления отслеживанием игро - Информативные сообщения о процессе обработки запросов - Каждый пользователь имеет свой набор игроков - Версионность бота (отображается в команде /support) +- **Многоязычная поддержка**: Русский и английский языки с автоматическим определением и ручным выбором через `/set_lang` +- **Очередь запросов**: Автоматическая задержка 7 секунд между запросами к Lichess API для периодических уведомлений **Команды:** - `/start` - начало работы с ботом и добавление первого игрока @@ -135,6 +137,7 @@ Telegram бот для управления отслеживанием игро - `/week` - статистика за неделю по всем отслеживаемым игрокам с активностью - `/lastYear_or_1000games` - статистика за последний год или последние 1000 рейтинговых игр (по всем игрокам с активностью) - `/setperiod` - настроить периодические уведомления для активного игрока +- `/set_lang` - выбрать язык бота (🇬🇧 English / 🇷🇺 Русский) - `/support` - контактная информация для обратной связи с разработчиком **Подробнее о боте:** см. [about.md](about.md) @@ -149,6 +152,8 @@ Telegram бот для управления отслеживанием игро - Отображение игроков каждого пользователя - Статистика по каждому пользователю - Отображение активных игроков и периодов +- Отображение языка пользователя (🇷🇺 ru / 🇬🇧 en) +- Статистика пользователей с русским языком (количество и процент) ## 🗄️ База данных