Как получать оповещения от Jupyter notebook в Telegram?

в 13:55, , рубрики: open data science, python, telegram bots

Довольно просто. Нам понадобится свой телеграм-бот, один пакет и одна строчка кода
А результат будет таким:
Как получать оповещения от Jupyter notebook в Telegram? - 1

Как создать бота?

Достаточно написать в приват телеграм-пользователю @BotFather. Он выдаст список команд, которые понимает, но нас интересует /newbot

Надо будет указать имя бота ("человеческое") и его username (который потом будет доступен через @). В моём примере это "Лучший бот" и "habra_test_bot".

Как получать оповещения от Jupyter notebook в Telegram? - 2

В ответе бота нас интересуют ссылка t.me/habra_test_bot и 2 строчки:

Use this token to access the HTTP API:

442932741:AAGIBZeHev3I5d0S_cWszRYKMw898Ft9uac

Пока просто запомним, что вот он, токен.

Чего ещё не хватает?

Не хватает нам пакета telegram-send. Ставится он через pip. В консоли надо выполнить

pip install telegram-send

Collecting telegram-send
Using cached telegram_send-0.18-py2.py3-none-any.whl
Requirement already satisfied: appdirs in c:pythonanaconda3libsite-packages (from telegram-send)
Requirement already satisfied: python-telegram-bot>=5.0 in c:pythonanaconda3libsite-packages (from telegram-send)
Requirement already satisfied: colorama in c:pythonanaconda3libsite-packages (from telegram-send)
Requirement already satisfied: certifi in c:pythonanaconda3libsite-packages (from python-telegram-bot>=5.0->telegram-send)
Requirement already satisfied: future>=0.16.0 in c:pythonanaconda3libsite-packages (from python-telegram-bot>=5.0->telegram-send)
Installing collected packages: telegram-send
Successfully installed telegram-send-0.18

Далее требуется настроить telegram-send, чтобы он знал, куда писать. Для этого снова в консоли:

telegram-send --configure

Вот тут нам и понадобится токен, который сообщил @BotFather (его надо будет отправтить в ответ на приглашение в консоли):

Talk with the BotFather on Telegram (https://telegram.me/BotFather), create a bot and insert the token
[35m> [0m442932741:AAGIBZeHev3I5d0S_cWszRYKMw898Ft9uac
Connected with habra_test_bot.

Please add habra_test_bot on Telegram (https://telegram.me/habra_test_bot) and send it the password: 43165

А вот пароль (43165) надо будет отправить в приват нашему боту. Для этого надо перейти по ссылке от всё того же @BotFather (t.me/habra_test_bot) и нажать START:

Как получать оповещения от Jupyter notebook в Telegram? - 3

Как получать оповещения от Jupyter notebook в Telegram? - 4

После этого для отправки сообщения надо в Jupyter Notebook обратиться через ! к telegram-send:
Как получать оповещения от Jupyter notebook в Telegram? - 5

Автор: AmberSP

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js