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
- Host: GitHub
- URL: https://github.com/apricotbrain/homework_bot
- Owner: ApriCotBrain
- Created: 2022-10-26T13:14:55.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-04-30T06:11:39.000Z (about 3 years ago)
- Last Synced: 2025-04-07T12:17:24.655Z (about 1 year ago)
- Topics: logging, python, telegram-bot-api
- Language: Python
- Homepage:
- Size: 23.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
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()` - проверяет наличие необходимых переменных окружения.