Telegram Bot

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.

Deja una respuesta