Skip to main content

Send simple Telegram notifications from Jupyter notebooks.

Project description

PyNoteGram

PyNoteGram отправляет сообщения из Jupyter в один выбранный Telegram-чат.

После первой настройки в ноутбуках больше не нужно писать токен или chat_id.

Что нужно сделать

1. Создать бота

В Telegram откройте @BotFather, отправьте /newbot и сохраните полученный токен. Токен является паролем бота.

2. Создать отдельную группу

  1. Создайте новую группу в Telegram, например Мои расчеты.
  2. Добавьте туда созданного бота.
  3. Напишите в группе /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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pynotegram-0.3.0.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pynotegram-0.3.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

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

Hashes for pynotegram-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a5449faefcd44399c3b85d230fa1d670e5e43921f53628d5808def0e1cfd9357
MD5 a8b99be258e9cd17f56e5956fdb9ef1a
BLAKE2b-256 53e71a61023d2884d9087249543216fa142edf66f41205eaed9ab27eb9a6c93a

See more details on using hashes here.

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

Hashes for pynotegram-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e6291aba813cd8ed2f01c1452b7ee4a552bdf38b655533b2479c953720d85e7b
MD5 c90e94149c6416a630731675cbc72b53
BLAKE2b-256 c600957933436642e6f3ae082ee083535d8502b175c35011a6d52e74fa6448b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page