Dvmn-alert-bot - простое приложение, которое позволяет получать уведомления в Telegram о проверках уроков на сайте dvmn.org. Бот присылает сообщения в чат в Telegram, если преподаватель проверил урок.
python>=3.7
requests==2.26.0
python-telegram-bot==13.7
- Сделать fork этого репозитория;
- Зарегистрироваться на heroku;
- Создать новое приложение в heroku;
- Подключить репозиторий с кодом в приложении;
- Создать бота в
telegram
; - В настройках внести переменные окружения:
DVMN_TOKEN
- уникальный token, который можно получить в настройках профиля на сайте dvmn.org;TELEGRAM_TOKEN
- уникальный token, который получает созданный через@BotFather
Telegram бот;CHAT_ID
- id чата с ботом (чтобы его получить, нужно начать диалог со своим ботом).
- Сделать
git clone
этого репозитория; - Установить Docker Desktop;
- Создать бота в
telegram
через бота@BotFather
; - Необходимые токены и id, которые будут передаваться как параметры окружения:
DVMN_TOKEN
- уникальный token, который можно получить в настройках профиля на сайте dvmn.org;TELEGRAM_TOKEN
- уникальный token, который получает созданный через@BotFather
Telegram бот;CHAT_ID
- id чата с ботом (чтобы его получить, нужно начать диалог со своим ботом).
- Создаем контейнер Docker с ботом и запускаем его в работу (выполнять в командной строке):
docker build -t alert-bot .
;
- Запускаем контейнер с переменными окружения. Переменные окружения можно передать или через консоль
при запуске образа, или создав файл
.env
, в котором нужно прописать переменные окружения:
Вариант 1. Запустить через консоль
docker run -d -e DVMN_TOKEN='YOUR_DVMN_TOKEN' -e TELEGRAM_TOKEN='YOUR_TG_TOKEN' -e CHAT_ID='YOUR_ID' alert-bot
Вариант 2. Создать файл .env
в корне приложения, рядом с файлом Dockerfile
. В ней прописать нужные данные, к примеру
DVMN_TOKEN=YOUR_DVMN_TOKEN
TELEGRAM_TOKEN=YOUR_TG_TOKEN
CHAT_ID=YOUR_CHAT_ID
После этого можно запустить образ командой docker run -d --env-file ./.env alert-bot
Дальнейшие шаги необходимы, если Вы хотите запустить бота в докер-контейнере на Heroku.
- Зарегистрироваться на heroku и установить
heroku cli
; - Настраиваем Heroku (выполнять в командной строке в папке с проектом):
- Залогиниться в heroku с помощью heroku cli -
heroku login
; - Создаем приложение -
heroku create <your_app_name>
; - Выполняем команду
heroku container:login
; - Пушим контейнер на
heroku
с помощью командыheroku container:push bot --app <your_app_name>
; - Делаем релиз
heroku container:release bot --app <your_app_name>
;
- Залогиниться в heroku с помощью heroku cli -
Бот присылает сообщения, которые содержат в себе статус проверки (сдан урок или требуются доработки), а так же ссылку на урок. Так же в случае ошибки работы бота, то в Telegram отправляется сообщение об ошибке.
Пример работы