Telegram Benachrichtigungsdienst mit einer einzigen Bash
Das Pendant zur telegram.php ist hier die telegram.sh - eine Bash, die genau das gleiche macht wie die PHP, ideal zum Scripten und zur Automation.
Ein Benachrichtigungsansatz, der schnell und einfach umzusetzen ist - in nur einer Datei, mit Ausnahme einer Konfiguration, wäre ein Träumchen. Das habe ich mir gedacht und habe das telegram.sh ins Leben gerufen. Die Einstellungen zum Bot und zum Chat, sowie die Nachricht selbst, werden der Bash alle mit Argumenten/Schaltern übergeben, sodass es eine Konfigurationsdatei überflüssig macht.
Bash-typisch wird hier ein Linux vorausgesetzt. Ich persönlich verwende Debian. Zusätzlich wird curl benötigt.
Die zu übergebenden Parameter werden hier erklärt:
• -b oder --bot ist der BOT:TOKEN des Botfathers von Telegram,
• -c oder --chat ist der Chat, an dem die Nachricht gehen soll,
• -m oder --msg ist die Nachricht, die übergeben wird.
Beispielaufruf:
./telegram.sh -b 123456789:ABCdefGhIjKlMnOpQrStUvWxYz -c 987654321 -m "Hallo ich bins"
Hier das Script:
#!/bin/bash
# Telegram Send Script - CLI mit Parameterübergabe
# Usage info
usage() {
echo "Nutzung: $0 -b BOT -c CHATID -m MESSAGE"
exit 1
}
# Parameter parsen
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
-b|--bot)
BOT="$2"
shift; shift
;;
-c|--chat)
CHATID="$2"
shift; shift
;;
-m|--msg)
MSG="$2"
shift; shift
;;
*)
usage
;;
esac
done
# Prüfung
if [ -z "$BOT" ] || [ -z "$CHATID" ] || [ -z "$MSG" ]; then
usage
fi
# Telegram API URL
URL="https://api.telegram.org/bot${BOT}/sendMessage"
# Senden
curl -s -X POST "$URL" -d chat_id="$CHATID" -d text="$MSG"
# Ausgabe-Status
echo
No Comments