An open API service indexing awesome lists of open source software.

https://github.com/apricotbrain/homework_bot

Homework Notifications
https://github.com/apricotbrain/homework_bot

logging python telegram-bot-api

Last synced: 5 months ago
JSON representation

Homework Notifications

Awesome Lists containing this project

README

          

# Homework Notifications

Проект для уведомлений о проверке домашних заданий на Яндекс.Практикуме

## Как установить и запустить приложение?

1. Установите Python 3.8 или выше и pip.
2. Склонируйте репозиторий `https://github.com/ApriCotBrain/homework_bot.git`
3. Создайте виртуальное окружение `python -m venv env`.
4. Активируйте виртуальное окружение: `source env/bin/activate` (Linux), `env\Scripts\activate` (Windows).
5. Установите зависимости: `pip install -r requirements.txt`.
6. Создайте файл `.env`, в котором укажите необходимые переменные окружения: `PRACTICUM_TOKEN`, `TELEGRAM_TOKEN` и `TELEGRAM_CHAT_ID`.
7. Запустите программу: `python homework.py`.

## Что делает этот бот:

- Раз в 10 минут опрашивает API сервиса Практикум.Домашка и проверяет статус отправленной на ревью домашней работы;
- При обновлении статуса анализирует ответ API и отправляет вам соответствующее уведомление в Telegram;
- Логирует свою работу и сообщает вам о важных проблемах сообщением в Telegram.

## Описание основных функций

- `send_message(bot, message)` - отправляет сообщение в указанный в настройках чат в Telegram.
- `get_api_answer(current_timestamp)` - отправляет запрос к API Яндекс.Практикум и получает данные о проверке домашней работы.
- `check_response(response)` - проверяет корректность ответа API.
- `parse_status(homework)` - извлекает статус проверки домашней работы и возвращает соответствующее сообщение.
- `check_tokens()` - проверяет наличие необходимых переменных окружения.