{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "## Открытый курс по машинному обучению\n", "
Автор материала: Андрей Гуревич (@amber4eg)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# Как получать оповещения от Jupyter notebook`а в Telegram?\n", "Довольно просто. Нам понадобится свой телеграм-бот, один пакет и одна строчка кода\n", "А результат будет таким:\n", "![](https://habrastorage.org/webt/59/db/7a/59db7acc87064607135491.png)\n", "\n", "## Как создать бота?\n", "Достаточно написать в приват телеграм-пользователю @BotFather. Он выдаст список команд, которые понимает. Но нас интересует `/newbot`\n", "Надо будет указать имя бота (\"человеческое\") и его username (который потом будет доступен через @). В моём примере это \"Лучший бот\" и \"habra_test_bot\".\n", "\n", "![](https://habrastorage.org/webt/59/db/67/59db672fc73ed553954773.png)\n", "\n", "В ответе бота нас интересуют ссылка `t.me/habra_test_bot` и 2 строчки:\n", ">Use this token to access the HTTP API:\n", ">\n", ">442932741:AAGIBZeHev3I5d0S_cWszRYKMw898Ft9uac\n", "\n", "Пока просто запомним, что вот он, токен.\n", "\n", "## Чего ещё не хватает?\n", "Не хватает нам пакета `telegram-send`. Ставится он через `pip`. В консоли надо выполнить\n", "\n", "`pip install telegram-send`\n", "\n", ">Collecting telegram-send\n", " Using cached telegram_send-0.18-py2.py3-none-any.whl\n", ">Requirement already satisfied: appdirs in c:\\python\\anaconda3\\lib\\site-packages (from telegram-send)\n", "\n", ">Requirement already satisfied: python-telegram-bot>=5.0 in c:\\python\\anaconda3\\lib\\site-packages (from telegram-send)\n", "\n", ">Requirement already satisfied: colorama in c:\\python\\anaconda3\\lib\\site-packages (from telegram-send)\n", "\n", ">Requirement already satisfied: certifi in c:\\python\\anaconda3\\lib\\site-packages (from python-telegram-bot>=5.0->telegram-send)\n", "\n", ">Requirement already satisfied: future>=0.16.0 in c:\\python\\anaconda3\\lib\\site-packages (from python-telegram-bot>=5.0-telegram-send)\n", "\n", ">Installing collected packages: telegram-send\n", "\n", ">Successfully installed telegram-send-0.18\n", "\n", "Далее требуется настроить `telegram-send`, чтобы он знал, куда писать. Для этого снова в консоли:\n", "`telegram-send --configure`\n", "\n", "Вот тут нам и понадобится токен, который сообщил @BotFather (его надо будет отправтить в ответ на приглашение в консоли):\n", ">Talk with the BotFather on Telegram (https://telegram.me/BotFather), create a bot and insert the token\n", "\n", ">\u001b[35m> \u001b[0m442932741:AAGIBZeHev3I5d0S_cWszRYKMw898Ft9uac\n", "\n", ">Connected with habra_test_bot.\n", "\n", ">Please add habra_test_bot on Telegram (https://telegram.me/habra_test_bot) and send it the password: 43165\n", "\n", "А вот пароль (`43165`) надо будет отправить в приват нашему боту. Для этого надо перейти по ссылке от всё того же @BotFather (`t.me/habra_test_bot`) и нажать START:\n", "![](https://habrastorage.org/webt/59/db/6c/59db6c6237019597931019.png)\n", "\n", "![](https://habrastorage.org/webt/59/db/6d/59db6d468e80c693927936.png)\n", "\n", "После этого для отправки сообщения надо в Jupyter Notebook обратиться через `!` к `telegram-send`:\n", "![](https://habrastorage.org/webt/59/db/7a/59db7acc87064607135491.png)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }