Git Product home page Git Product logo

dvmn-alert-bot's Introduction

Dvmn-alert-bot

Dvmn-alert-bot - простое приложение, которое позволяет получать уведомления в Telegram о проверках уроков на сайте dvmn.org. Бот присылает сообщения в чат в Telegram, если преподаватель проверил урок.

Требования к окружению

  1. python>=3.7
  2. requests==2.26.0
  3. python-telegram-bot==13.7

Деплой на Heroku

  1. Сделать fork этого репозитория;
  2. Зарегистрироваться на heroku;
  3. Создать новое приложение в heroku;
  4. Подключить репозиторий с кодом в приложении;
  5. Создать бота в telegram;
  6. В настройках внести переменные окружения:
    • DVMN_TOKEN - уникальный token, который можно получить в настройках профиля на сайте dvmn.org;
    • TELEGRAM_TOKEN - уникальный token, который получает созданный через @BotFather Telegram бот;
    • CHAT_ID - id чата с ботом (чтобы его получить, нужно начать диалог со своим ботом).

Запуск с помощью Docker

  1. Сделать git clone этого репозитория;
  2. Установить Docker Desktop;
  3. Создать бота в telegram через бота @BotFather;
  4. Необходимые токены и id, которые будут передаваться как параметры окружения:
    • DVMN_TOKEN - уникальный token, который можно получить в настройках профиля на сайте dvmn.org;
    • TELEGRAM_TOKEN - уникальный token, который получает созданный через @BotFather Telegram бот;
    • CHAT_ID - id чата с ботом (чтобы его получить, нужно начать диалог со своим ботом).
  5. Создаем контейнер Docker с ботом и запускаем его в работу (выполнять в командной строке):
    • docker build -t alert-bot .;
  6. Запускаем контейнер с переменными окружения. Переменные окружения можно передать или через консоль при запуске образа, или создав файл .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.

  1. Зарегистрироваться на heroku и установить heroku cli;
  2. Настраиваем 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>;

Пример работы бота

Бот присылает сообщения, которые содержат в себе статус проверки (сдан урок или требуются доработки), а так же ссылку на урок. Так же в случае ошибки работы бота, то в Telegram отправляется сообщение об ошибке.

Пример работы

dvmn-alert-bot's People

Contributors

post1blues avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.