# Telegram Benachrichtigungsdienst mit einer einzigen Bash

Das Pendant zur [telegram.php](https://wiki.mariobeh.de/books/behwiki/page/telegram-benachrichtigungsdienst-mit-einer-einzigen-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:

```bash
./telegram.sh -b 123456789:ABCdefGhIjKlMnOpQrStUvWxYz -c 987654321 -m "Hallo ich bins"
```

Hier das Script:

```bash
#!/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
```