\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
}