https://github.com/meteopavel/homeworkstatusbot
🤖 Telegram-бот для Яндекс.Практикум — автоматические уведомления о статусе проверки домашних работ. 🔄 Запросы к API, отправка сообщений в Telegram. 💻
https://github.com/meteopavel/homeworkstatusbot
logging python-telegram-bot requests
Last synced: about 1 year ago
JSON representation
🤖 Telegram-бот для Яндекс.Практикум — автоматические уведомления о статусе проверки домашних работ. 🔄 Запросы к API, отправка сообщений в Telegram. 💻
- Host: GitHub
- URL: https://github.com/meteopavel/homeworkstatusbot
- Owner: meteopavel
- Created: 2023-08-07T08:25:01.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2025-04-10T05:07:13.000Z (about 1 year ago)
- Last Synced: 2025-04-10T06:26:55.114Z (about 1 year ago)
- Topics: logging, python-telegram-bot, requests
- Language: Python
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🤖 HomeworkStatusBot - Telegram-бот для отслеживания статуса домашних работ
## Описание проекта
Telegram-бот автоматически отправляет уведомления о статусе проверки домашних заданий с платформы [Яндекс.Практикум](https://practicum.yandex.ru). Программа периодически запрашивает данные через API и отправляет сообщения в Telegram при изменении статуса работы.
## Возможности
- 🔄 **Автоматический опрос API**: Бот каждые 10 минут проверяет статус домашних работ.
- ✉️ **Уведомления в Telegram**: Отправляет сообщения о статусе проверки (одобрено, взято на проверку, отклонено).
- 📝 **Логирование**: Все события записываются в логи для удобства отладки.
## Технологии
- **Python**: Основной язык программирования.
- **Telegram Bot API**: Для отправки сообщений в Telegram.
- **Requests**: Для взаимодействия с API Яндекс.Практикум.
- **Logging**: Для записи логов.
## Как использовать
1. **Создайте `.env` файл**:
```env
PRACTICUM_TOKEN=ваш_токен_практикума
TELEGRAM_TOKEN=ваш_токен_телеграм_бота
TELEGRAM_CHAT_ID=ваш_id_чата
```
2. **Установите зависимости**:
```bash
pip install -r requirements.txt
```
3. **Запустите бота**:
```bash
python main.py
```
4. **Пример уведомления**:
```
Изменился статус проверки работы "Проект: Бот для проверки домашних заданий". Работа проверена: ревьюеру всё понравилось. Ура!
```
## Структура проекта
- `main()`: Основная логика работы бота.
- `get_api_answer()`: Получает данные от API Яндекс.Практикум.
- `check_response()`: Проверяет корректность ответа от API.
- `parse_status()`: Парсит статус работы и формирует сообщение.
- `send_message()`: Отправляет сообщение в Telegram.
- `check_tokens()`: Проверяет наличие необходимых токенов.