Недавно потребовалось мне для уведомлений о различных операциях автоматизации — отправлять сообщения в телеграмм. Поэтому по быстрому накидал скрипт.
Скрипт написан на 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
Поделиться ссылкой: