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