README.md

Данный python-бот отправляет в ранее созданный телеграм чат с помощью подключенного к нему бота сообщение вида:

  • дата
  • Тема:
  • Сообщение:

и, тем самым, может использоваться для уведомлений (напр., являясь логикой разного рода bash-скриптов, джоб и пр.)

Содержание

1. О скриптах

2. Установка зависимостей

3. Создание телеграм-бота

4. Настройка телеграм чата

5. Получение id телеграм чата

6. Правка конфиг-файла python скрипта


1. О скриптах

Данный проект состоит из двух скриптов:

  • bash (telegram_notifier.sh)
  • python3 (py_engine/tg_notifier.py)

которые используются для передачи сообщений в Telegram чат и могут быть встроены в логику других bash скриптов.


Python скрипт tg_notifier.py

… принимает на вход 2 аргумента, например:


  • cd py_engine/

Далее пользуемся одним из вариантов в зависимости от ОС и настроек системы:

  • python tg_notifier.py “Запуск теста” “Тест успешно завершён”
  • python3 tg_notifier.py “Запуск теста” “Тест успешно завершён”
  • py.exe tg_notifier.py “Запуск теста” “Тест успешно завершён”

Сообщение, отображаемое в телеграм чате:


Тема: Запуск теста

Сообщение: Тест успешно завершён


bash скрипт telegram_notifier.sh

… также принимает 2 аргумента на вход и вызывает python скрипт, передавая в него полученные аргументы:


bash telegram_notifier.sh “Запуск теста” “Тест успешно завершён”


Тем самым от использования bash скрипта можно полностью отказаться. Он присутствует в проекте лишь для удобства, так как содержит дополнительную проверку на количество передаваемых аргументов.

Важно!

Для использования bash-скрипта укажите правильный путь или команду для запуска python!

См. telegram_notifier.sh => python=“/usr/bin/python3”

2. Установка зависимостей

Для запуска python скрипта требуется python 3.X. Также необходимо установить все зависимости, указанные в файле dependencies.txt.


  • pip install -r py_engine/dependencies.txt
  • pip3 install -r py_engine/dependencies.txt

3. Создание телеграм-бота

  • Для создания bot-а найдите в поиске телеграма => бота botfather
  • Введите команду /newbot

Далее отвечайте на вопросы бота:

  • Нужно будет придумать имя для своего бота. По имени можно будет находить бота в поиске (как, напр., @botfather)
  • Задать username для бота (можно повторно ввести имя)

После чего вам будет предоставлен токен для доступа к боту. Можете уже сейчас перейти в файл py_engine/config.py и ввести весь токен целиком в качестве значения к переменной TOKEN.

4. Настройка телеграм чата

Далее необходимо создать новый чат (new group) и добавить туда своего только что созданного бота. Вы можете сделать это как непосредственно при создании чата (на шаге добавления пользователей в чат, просто найдите своего бота по имени), так и позже (добавив бота в существующий чат).

5. Получение id телеграм чата

Следующим шагом необходимо подправить конфиг-файл (py_engine/config.py), введя в качестве значения переменной chat_room_id уникальный id вашей созданной группы. Дело в том, что бот будет отправлять сообщения именно в эту группу.

Как узнать ID созданного чата

https://perfluence.net/blog/article/kak-uznat-id-telegram

  • Ищем @username_to_id_bot через поисковую строку Telegram.
  • Запускаем бот нажатием кнопки «Начать».
  • Заходим в чат или группу, информацию о которой хотим узнать.
  • Копируем ссылку на чат. Её можно найти в настройках чата/группы при нажатии на кнопку «Пригласить». Ссылка будет находиться в верхней части открывшегося окна.
  • Далее возвращаемся к нашему боту и отправляем ему скопированную ранее ссылку.
  • В ответном сообщении получаем основные данные о чате/группе. В нижней строке будет ID

Бот выдаст id, начинающийся со знака -. Весь id целиком прописываем в переменную chat_room_id, напр.: chat_room_id=“-12748XXXXX”

6. Правка конфиг-файла python скрипта

Конфигурационный файл бота находится по пути: py_engine/config.py.

Перед запуском скрипта убедитесь, что вы прописали TOKEN (см. шаг 3), а также что вы указали chat_room_id (см. шаг 5).

Также вы можете заменить заглавия для темы и сообщения, подправив значения переменных:

  • message_title = "Тема: "
  • body_title = "Сообщение: "
Конвейеры
0 успешных
0 с ошибкой