Skip to content

About

Проект homework telegram bot

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

Проект homework telegram bot

Цель

Для получение оперативного ответа об изменении статуса проверки домашней работы ревьюрем Яндекс практикума, был написан проект, который будет обращаться к API сервиса Практикум.Домашка и узнавать статус домашней работы: взята ли домашка в ревью, проверена ли она, а если проверена — то принял её ревьюер или вернул на доработку.

Функции бота

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

Структура проекта

  • Функция main(): в ней описана основная логика работы программы. Все остальные функции запускаются из неё. Последовательность действий:
    • Сделать запрос к API.
    • Проверить ответ.
    • Если есть обновления — получить статус работы из обновления и отправить сообщение в Telegram. Подождать некоторое время и сделать новый запрос.
  • Функция check_tokens() проверяет доступность переменных окружения, которые необходимы для работы программы. Если отсутствует хотя бы одна переменная окружения — функция должна вернуть False, иначе — True.
  • Функция get_api_answer() делает запрос к единственному эндпоинту API-сервиса. В качестве параметра функция получает временную метку. В случае успешного запроса должна вернуть ответ API, преобразовав его из формата JSON к типам данных Python.
  • Функция check_response() проверяет ответ API на корректность. В качестве параметра функция получает ответ API, приведенный к типам данных Python. Если ответ API соответствует ожиданиям, то функция должна вернуть список домашних работ (он может быть и пустым), доступный в ответе API по ключу 'homeworks'.
  • Функция parse_status() извлекает из информации о конкретной домашней работе статус этой работы. В качестве параметра функция получает только один элемент из списка домашних работ. В случае успеха, функция возвращает подготовленную для отправки в Telegram строку, содержащую один из вердиктов словаря HOMEWORK_STATUSES.
  • Функция send_message() отправляет сообщение в Telegram чат, определяемый переменной окружения TELEGRAM_CHAT_ID. Принимает на вход два параметра: экземпляр класса Bot и строку с текстом сообщени

About

Проект homework telegram bot

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages