# SavRatingBot ## Описание SavRatingBot - это Telegram бот для шахматистов, который помогает отслеживать рейтинги и проверять выполнение разрядных норм. ### Основные функции: - Отображение рейтингов ФШР (Федерация шахмат России) и ФИДЕ - Отображение рейтингов Lichess - Проверка выполнения разрядных норм (включая КМС) - Автоматическое уведомление об изменениях рейтинга ## Установка и запуск ### Предварительные требования - Docker и Docker Compose - Токен Telegram бота (получить у [@BotFather](https://t.me/BotFather)) ### Шаги по установке 1. Клонируйте репозиторий: ```bash git clone https://github.com/yourusername/SavRatingBot.git cd SavRatingBot ``` 2. Создайте файл `.env` в корневой директории проекта со следующим содержимым: ``` TG_TOKEN=ваш_токен_телеграм_бота ``` 3. Запустите бота с помощью Docker Compose: ```bash docker-compose up -d ``` ### Запуск без Docker 1. Установите Python 3.10 или выше 2. Установите зависимости: ```bash pip install -r requirements.txt ``` 3. Экспортируйте переменную окружения с токеном бота: ```bash export TG_TOKEN=ваш_токен_телеграм_бота ``` 4. Запустите бота: ```bash python MyRatingSuperBot.py ``` ## Использование ### Команды бота - `/start` - Начать работу с ботом - `/delete_fshr_id` - Удалить сохраненный ФШР ID - `/delete_lichess_username` - Удалить сохраненный ник Lichess - `/bot_info` - Получить информацию о боте ### Функции бота 1. **Проверка рейтинга ФШР и ФИДЕ** - Нажмите кнопку "МОЙ РЕЙТИНГ ФШР" - Введите свой ID ФШР (если не вводили ранее) - Бот покажет ваши текущие рейтинги ФШР и ФИДЕ 2. **Проверка рейтинга Lichess** - Нажмите кнопку "МОЙ РЕЙТИНГ LICHESS" - Введите свой ник на Lichess (если не вводили ранее) - Бот покажет ваши текущие рейтинги на Lichess 3. **Проверка выполнения разрядной нормы** - Нажмите кнопку "ПРОВЕРИТЬ РАЗРЯДНУЮ НОРМУ" - Следуйте инструкциям бота для ввода информации о турнире - Бот проверит, выполнили ли вы норму на разряд или КМС 4. **Автоматические уведомления** - Бот автоматически проверяет изменения рейтинга два раза в день - При изменении рейтинга вы получите уведомление ## Структура проекта - `MyRatingSuperBot.py` - Основной файл бота - `normy.csv` - Данные о разрядных нормах - `data/users.db` - База данных пользователей (создается автоматически) - `Dockerfile` и `docker-compose.yml` - Файлы для запуска в Docker - `requirements.txt` - Зависимости Python ## Технические детали Бот использует: - Python 3.10 - pyTelegramBotAPI для работы с Telegram API - BeautifulSoup и requests для парсинга данных с сайтов ФШР и Lichess - SQLite для хранения данных пользователей - APScheduler для периодической проверки изменений рейтинга