Notificaciones en tu propio bot de Telegram
Si eres programador o administrador de sistemas sabrás que recibir notificaciones unificadas de los servicios que gestiones es siempre una labor muy repetitiva y rutinaria.
Pues bien en este post voy a describir la forma mas sencilla que he encontrado (de momento) para que puedas mandar notificaciones a tu propio bot de Telegram. Si nunca has creado un bot verás que es un proceso en extremo sencillo.
Vamos manos a la obra.
1. Creación de tu propio bot en Telegram
- Accede a tu aplicación de Telegram (web, desktop, móvil, etc.) y busca al usuario @botFather
- Comienza una conversación con él y manda la orden /newbot:
- Dale un nombre y un usuario a tu bot:
- @BotFather te contestará con un TOKEN que debes guardar en lugar seguro.
- Busca ahora tu bot y emprende una conversación con él:
2. Capturar el ID del chat
Necesitas conocer ahora el ID de tu propio chat para ello puedes usar un navegador y poner la siguiente URL:
https://api.telegram.org/bot[token]/getUpdates
donde token debe ser sustituido por el que ya tenemos.
Tendremos algo del estilo:
3. Utilización
Con estos dos datos en nuestro poder podemos probar nuestro bot de la siguiente forma:
https://api.telegram.org/bot[token]/sendMessage?chat_id[chatId]&parse_mode=Markdown&text=[msg]
Solo tenemos que sustituir token e chartId por nuestros valores, siendo msg el mensaje que queremos mandar a nuestro bot.
El resultado puede verse a continuación:
Si se quiere usar desde un script en python, aquí tenemos un código de ejemplo:
import requests
emoji_info = 'ℹ️'
emoji_ok = '✅'
emoji_warning = '⚠️'
emoji_error = '❌️'
def sendNotification(notification_body, notification_title, emoji):
bot_token = '1907783307:AAGqkGE39tJPhD7XXXXXXXXXXXXXX'
bot_chatID = '262XXXXX'
msg = emoji + ' *'+notification_title+'*\n\n'+notification_body
send_text = 'https://api.telegram.org/bot' + bot_token + '/sendMessage?chat_id=' + bot_chatID + '&parse_mode=Markdown&text=' + msg
response = requests.get(send_text)
return response.json()
if sendNotification('Cuerpo del mensaje', 'Mi título del mensaje', emoji_info)["ok"]:
print("Mensaje enviado correctamente")
Tendremos que sustituir bot_token y bot_chatID por nuestros valores.
El resultado final:
El mundo de los bot es extremadamente amplio y puede resultar muy complejo pero para cubrir exactamente esta necesitad de notificaciones, lo tenemos resuelto.