From 980dea31f71d4de8ecce298a5104f3ab2f24680c Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 3 May 2025 21:47:53 +0300 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=BE=D1=82=20MyRatingSuperBot.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..7e90ce0 --- /dev/null +++ b/README.md @@ -0,0 +1,96 @@ +# 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 для периодической проверки изменений рейтинга \ No newline at end of file