SavRatingBot/README.md
2025-05-03 21:47:53 +03:00

96 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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