GithubHelp home page GithubHelp logo

devman_homework_bot's Introduction

Бот для отправки уведомлений о проверенных работах devman.org в Telegram

Бот создан в учебных целях для отправки уведомлений о проверенных домашних работах в telegram.

Как установать?

Вам понадобится установленный Python 3.6-3.9, аккаунт в telegram и git.

Склонируйте репозиторий или скачайте код в виде архива:

$ git clone [email protected]:IlyaG96/devman_homework_bot.git

Создайте в этой папке виртуальное окружение:

$ python3 -m venv [полный путь до папки devman_homework_bot] env

Активируйте виртуальное окружение и установите все необходимые пакеты:

$ cd devman_homework_bot
$ source env/bin/activate
$ pip install -r requirements.txt

Использование

Заполните прилагающийся .env.example файл и переименуйте его в .env или иным образом задайте переменные среды:

DEVMAN_TOKEN=""
TG_TOKEN=""
CHAT_ID=""
  • DEVMAN_TOKEN - есть здесь
  • TG_TOKEN - токен бота teleram - написать @botfather
  • CHAT_ID - ваш telegram id, нужен для отправки сообщения именно вам - написать @userinfobot Простейший способ запустить бота:
$ python request_to_devman.py

Если одна из ваших работ будет проверена в тот момент, когда бот запущен, вы получите в телеграм следующего вида:

  • Если есть ошибки:
Ваш урок 'Джедайские техники рассылки спама' проверен. К сожалению, есть ошибки
Ссылка для перехода к уроку: https://dvmn.org/modules/mac-linux-command-line/lesson/mail-config/
  • Если нет ошибок:
Ваш урок 'Джедайские техники рассылки спама' проверен. Ошибок нет! Поздравляем!
Ссылка для перехода к уроку: https://dvmn.org/modules/mac-linux-command-line/lesson/mail-config/

Деплой на heroku.com

По материалам уроков devman.org

  • Для того, чтобы бот работал, его необходимо разместить на сервере. Зарегистрируйтесь Здесь для того, чтобы получить бесплатный сервер.
  • Создайте в папке с ботом файл Procfile c содержимым:
  • bot: python3 название_бота.py
  • Убедитесь, что файл requirements.txt есть в папке и заполнен.
  • Опубликуйте свой код на github.com.
  • Привяжите аккаунт GitHub к аккаунту Heroku и нажмёте Deploy Branch внизу страницы. Загорятся зелёные галочки справа, как на скриншоте.
  • .
  • Переменные окружения можно задать во вкладке Settings на сайте Heroku. Заполните Config Vars в соответствии с примером из env.example.
  • Убедитесь, что бот работает. Установите Heroku CLI инструкция
  • Просмотрите логи командой.
  • heroku logs -a название_приложения
  • Кроме логов, вы должны наблюдать надпись Build succeeded

В данной версии каждые 90 секунд бут будет писать в лог крайне информативные сообщения о том, что он жив и пытается достучаться до сайта.

Сборка и запуск с использованием Docker

  • Соберите контейнер
docker build -t devman-homework .
  • Запустите образ контейнера:
docker run -d --env-file ./.env devman-homework
  • -d - запускает образ в фоновом режиме.
  • --env-file - определяет путь до файла с переменными окружения.
  • --rm - удалит контейнер после завершения его работы (фича для тех у кого мааааленький сервер :).
  • Ссылка на документацию

Для того, чтобы увидеть список всех работающих образов, введите команду:

docker images

Для удаления образа найдите в списке образов id своего образа (IMAGE ID) и выполните команду:

docker rmi IMAGE_ID   

devman_homework_bot's People

Contributors

ilyag96 avatar

Watchers

 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.