Данный 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 = "Сообщение: "