Enviar mensajes a través de Telegram resulta muy útil sobretodo cuando se programan scripts de check o bakcups, de este modo podemos ser notificados sobre ciertas alarmas o errores. Ya utilizamos con anterioridad las notificaciones vía telegram desde python aquí y aquí, pero a veces no disponemos de python en el servidor así que dejo dos versiones la escrita en bash y en python.
La versión para bash sería la siguiente:
vi sendTelegram.sh
#!/usr/bin/env bash
function sendTelegram {
message=${@:1}
curl -s -X POST https://api.telegram.org/botAPI_KEY/sendMessage -d chat_id=CHAT_ID -d text="$message"
}
sendTelegram $1
chmod 700 sendTelegram.sh
./sendTelegram.sh TestBash
./sendTelegram.sh TestBash
La versión desde python:
vi sendTelegram.py
import requests
import sys
def sendMessage(msg):
apiKey = "API_KEY"
userId = "USER_ID"
data = {"chat_id":userId,"text":msg}
url = "https://api.telegram.org/bot{}/sendMessage".format(apiKey)
r = requests.post(url,json=data)
msg = sys.argv[1]
sendMessage(msg)
python sendTelegram.py TestPython