Send simple Telegram notifications from Jupyter notebooks.
Project description
PyNoteGram
PyNoteGram отправляет сообщения из Jupyter в один выбранный Telegram-чат.
После первой настройки в ноутбуках больше не нужно писать токен или chat_id.
Что нужно сделать
1. Создать бота
В Telegram откройте @BotFather, отправьте /newbot и сохраните полученный
токен. Токен является паролем бота.
2. Создать отдельную группу
- Создайте новую группу в Telegram, например Мои расчеты.
- Добавьте туда созданного бота.
- Напишите в группе
/start.
3. Установить и настроить PyNoteGram
pip install pynotegram
pynotegram setup
Во время настройки программа один раз попросит токен от BotFather. После этого она сама найдет группу, запомнит ее и отправит проверочное сообщение.
Использование в Jupyter
Настроить библиотеку можно прямо в Jupyter:
from pynotegram import setup
setup()
Под ячейкой появится скрытое поле для токена. После проверки бот попросит
отправить в группе команду вида /start@NLP_bot и подождет появления группы.
После настройки перезапустите Jupyter. В любой ячейке можно написать:
%telegram Расчет закончен!
Получение сообщений из Telegram
Запустите в Jupyter ячейку:
%telegram_read 30
Она будет ждать сообщение из сохраненной группы до 30 секунд. Сообщения из других чатов игнорируются.
Для постоянного ожидания в течение десяти минут:
%telegram_watch 10
Новые сообщения будут появляться под ячейкой сразу после отправки. Остановить ожидание можно кнопкой прерывания ядра Jupyter.
Чтобы код отображался с подсветкой, отправьте его в Telegram так:
```python
def hello():
print("Привет")
```
В Jupyter он появится как отдельный блок Python-кода. Полученный код только показывается и никогда не запускается автоматически.
Сообщение придет только в группу, выбранную во время настройки.
Для многострочного сообщения:
%%telegram
Обучение модели закончено.
Точность: 94%.
Также можно использовать обычный Python:
from pynotegram import send
send("Расчет закончен!")
Если нужен VPN
Включите VPN перед запуском pynotegram setup и Jupyter.
Если есть отдельный SOCKS5-прокси:
pynotegram setup --proxy "socks5://ЛОГИН:ПАРОЛЬ@АДРЕС:ПОРТ"
Проверка
Отправить сообщение без Jupyter:
pynotegram send "Проверка"
Посмотреть сохраненный чат:
pynotegram status
Чтобы выбрать другую группу, снова выполните pynotegram setup.
Важное ограничение
Совсем обойтись только командой pip install нельзя: программа должна хотя бы
один раз получить токен вашего бота и узнать, какую группу выбрать. Поэтому
pynotegram setup выполняется один раз. В самих ноутбуках настройки больше не
потребуются.
Безопасность
- Никогда не публикуйте токен Telegram-бота и токен PyPI.
- Если токен Telegram попал в переписку, Git или ноутбук, отзовите его через
@BotFatherи создайте новый. - Код из Telegram отображается в Jupyter, но не запускается автоматически.
Лицензия
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pynotegram-0.3.0.tar.gz.
File metadata
- Download URL: pynotegram-0.3.0.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5449faefcd44399c3b85d230fa1d670e5e43921f53628d5808def0e1cfd9357
|
|
| MD5 |
a8b99be258e9cd17f56e5956fdb9ef1a
|
|
| BLAKE2b-256 |
53e71a61023d2884d9087249543216fa142edf66f41205eaed9ab27eb9a6c93a
|
File details
Details for the file pynotegram-0.3.0-py3-none-any.whl.
File metadata
- Download URL: pynotegram-0.3.0-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6291aba813cd8ed2f01c1452b7ee4a552bdf38b655533b2479c953720d85e7b
|
|
| MD5 |
c90e94149c6416a630731675cbc72b53
|
|
| BLAKE2b-256 |
c600957933436642e6f3ae082ee083535d8502b175c35011a6d52e74fa6448b1
|