AbbadonAA / homework_bot

Homework Bot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Homework Bot

Описание

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

При изменении статуса бот анализирует ответ API и отправляет соответствующее уведомление в Telegram.

Телеграм-бот был запущен на облачной платформе Heroku, пока они не отказались 28.11.2022 от предоставления бесплатных услуг. Я обиделся и перенёс бота на свой сервер.

❗ Запустить бота сможет только студент Яндекс.Практикума, т.к. для запуска требуется получить токен сервиса Практикум.Домашка.

Установка:

Локальный запуск проекта

  1. Клонируйте репозиторий:
git clone git@github.com:AbbadonAA/homework_bot.git
  1. Создайте и активируйте виртуальное окружение:
python3 -m venv venv
source venv/bin/activate
  1. Установите зависимости:
pip install -r requirements.txt
  1. При помощи @BotFather в Telegram создайте нового бота и получите API TOKEN

  2. Получите токен сервиса Практикум.Домашка (PR TOKEN) по адресу:

    https://oauth.yandex.ru/authorize?response_type=token&client_id=1d0b9dd4d652455a9eb710d450ff456a

  3. При помощи @userinfobot получите (команда - "me") TELEGRAM CHAT ID

  4. В директории /infra создайте файл .env со следующим содержанием:

PR_TOKEN=<PR TOKEN>
MY_TOKEN=<API TOKEN>
CHAT_ID=<TELEGRAM CHAT ID>
  1. В файле homework.py внесите изменения:
# path = r'C:\Dev\homework_bot\infra\.env' - раскомментируйте строку
# load_dotenv(path) - раскомментируйте строку
load_dotenv() - закомментируйте строку
  1. После внесения изменений в корневой директории выполните команду:
python homework.py
  1. Бот запущен и отслеживает изменения статуса проверки домашней работы.

Запуск на сервере (необходим Docker):

  1. Создайте директорию /infra
  2. Скопируйте в директорию /infra файл docker-compose.yaml
  3. Создайте в директории /infra файл .env со следующим содержанием:
PR_TOKEN=<PR TOKEN>
MY_TOKEN=<API TOKEN>
CHAT_ID=<TELEGRAM CHAT ID>
  1. Находясь в директории /infra с файлом docker-compose.yaml выполните команду:
sudo docker-compose up -d
  1. Docker-контейнер с ботом запущен, бот отслеживание изменения статуса проверки домашней работы.

Автор

Pushkarev Anton

pushkarevantona@gmail.com

About

Homework Bot


Languages

Language:Python 99.4%Language:Dockerfile 0.5%Language:Procfile 0.1%