04 diciembre 2020

Creando nuestro Bot en Telegram

Hoy en día la inmediatez es lo que cuenta para todo, y para eso las notificaciones "en tiempo real" son lo más habitual. Si bien es cierto que casi todos los sistemas incluyen alguna herramienta de notificación (email, App propia, SNMP, etc...) no siempre avisan de lo que queremos y cuando queremos. Para esos casos una opción muy cómoda es aprovecharnos del API de Telegram, crearnos un bot y utilizarlo para dicha función.

Creación del Bot
Entramos desde la computadora a https://web.telegram.org y seguimos los siguientes pasos. A cada comando botfather nos contestará guiándonos

Buscar a “BotFather” y empezamos un chat con él 
/newbot (inicia el programa de creación del bot)
"nombredelbot" (nombre que aparecerá al buscarlo o en las notificaciones)
"nombredeusuariodelbot"_bot (ojo que el "_bot" es obligatorio)
¡Ya está! nos ha escrito el Token y el link donde podemos ver toda la documentación oficial del API. Solo tenemos que buscar al bot, abrir un chat con él y darle a iniciar.

Conocer el idchat
Para poder enviarnos mensajes, lo único que nos falta es nuestro idchat. Este idchat puede ser de usuario o de grupo.

Para conocer el idchat de un grupo, con entrar al grupo desde la computadora la URL no podrá un “p=gxxxxxxxx”. Para enviar mensajes a ese grupo bastará con cambiar la g por un “-” y funcionará con el API
Para conocer el idchat de nuestro usuario, lo más fácil y sencillo es escribirle a @myidbot, este simpático bot nos devuelve nuestro idchat solo preguntandoloe /getid

Enviar mensajes con nuestro Bot
Ahora que ya tenemos todo (id y Token) solo tenemos que llamar a nuestro API con un “post”.

PowerShell
Param(
[string]$idchat='nuestroidchat',
[string]$Mensaje='Mensaje'
)
$token = "token"

$Url="https://api.telegram.org/bot"+$token+"/sendMessage?chat_id="+$idchat+"&text="+$Mensaje
Invoke-RestMethod -Uri $url -Method Post

Consola
curl -s -X POST https://api.telegram.org/botTOKEN/sendMessage -d chat_id=IDCHAT -d text="Mensaje+de+ejemplo"

Mikrotik
/tool fetch mode=https url="https://api.telegram.org/botTOKEN/sendMessage?chat_id=IDCHAT&text=Mensaje+de+ejemplo"  http-method=post

No hay comentarios:

Publicar un comentario