BASH скрипт отправки сообщений и файлов в telegram

Недавно потребовалось мне для уведомлений о различных операциях автоматизации — отправлять сообщения в телеграмм. Поэтому по быстрому накидал скрипт.

Скрипт написан на bash и не имеет никаких зависимостей кроме curl.

На вход скрипту передается два параметра:

  • текст
    (параметре -t или --text)
  • путь до файла
    (параметр -f или --file)

.

Если какой-то параметр не указан, то сообщение данного типа не будет отправлено. Если указаны оба параметра — то сначала отправляется текстовое сообщение, затем отправляется файл.

Как создать бота, получить его токен, узнать CHAT_ID чата с этим ботом — не составит труда найти в интернете.
Исходник скрипта под катом.

#!/bin/bash
# Set the API token and chat ID
API_TOKEN="5235xxxxx:AAGBdddddddd_xxxxx"
CHAT_ID="11xxxxxxx"
while [[ "$#" -gt 0 ]]
  do
    case $1 in
      -t|--text) MESSAGE="$2"; shift;;
      -f|--file) DOC="$2"; shift;;
    esac
    shift
done

# Use the curl command to send the message
if [ ! -z "$MESSAGE" ]
then
    curl -s -X POST https://api.telegram.org/bot$API_TOKEN/sendMessage -d chat_id=$CHAT_ID -d text="$MESSAGE"
fi
if [ ! -z "$DOC" ]
then
    curl -F chat_id=$CHAT_ID -F document=@"$DOC" https://api.telegram.org/bot$API_TOKEN/sendDocument
fi

Поделиться ссылкой:

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии