Бот MyRatingSuperBot.

This commit is contained in:
Alex 2025-05-03 21:47:53 +03:00
parent 3923ceb201
commit 980dea31f7

96
README.md Normal file
View File

@ -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 для периодической проверки изменений рейтинга