Enviar mensajes a Telegram en eventos o automatizados
Publicado en enero de 2021Con Telegram en auge vamos a explicar como podemos enviar mensajes a esta plataforma para que la Orange Pi nos informe de eventos o su estado en un momento dado. Ya hemos visto como enviar un email o un sms ahora le toca a esta plataforma a través de su API. Empecemos.
Lo primero que debemos hacer es crear un BOT a través del cual vamos a enviar nuestros mensajes. Vamos a hacerlo sin librerías ni archivos externos, sólo usaremos la APP
de Telegram de tu teléfono y un sencillísimo script
.
Primero, crearemos el Bot. Busca en tu APP Telegram un usuario llamado BotFather
pulsando en la lupa y envíale /start.
Te responderá con todos los comandos que puedes usar.
Vamos a crear el BOT. Escribe /newbot y te preguntará que nombre quieres darle. Dale un nombre que tu reconozcas, normalmente la utilidad para lo que lo vayas a usar. Yo le he llamado OrangePiTelegram
. Ahora te pedirá un nombre de usuario. Debe acabar por bot y debe ser único. Yo le he llamado OpiTelegrambot
. Te felicitará por crear tu bot y te dará la dirección donde puedes encontralo y el TOKEN
. Necesitarás esta información más adelante.
Ahora podemos hacer un montón de cosas, pero para que veáis un poco de que va esto vamos a añadir una descripción. El resto está en la documentación y el proceso es exactamente igual. Escribe /setDescription y elige el BOT sobre el que quieras añadir la descripción. Ahora escribe la descripción y envíala. Puedes añadir muchas cosas más, como una imagen o información sobre lo que hace el BOT. Para obtener un listado de tus BOTS escribe /mybots.
Aunque no te lo creas, lo más difícil está hecho. Ahora vamos a crear un sencillo script
para que nos envíe nuestro primer mensaje. Crea un fichero nano mensaje.sh y añade este código:
#!/bin/bash TOKEN="token-del-bot-de-telegram" ID="el_ID_del_receptor_del_mensaje" MENSAJE="Mensaje de prueba de Orange Pi." URL="https://api.telegram.org/bot$TOKEN/sendMessage" curl -s -X POST $URL -d chat_id=$ID -d text="$MENSAJE"
Vamos a explicar este código. La variable TOKEN te la proporcionó al crear el BOT y escribir el nombre de usuario. Debe ser algo similar a esto: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. La variable ID es el código identificador del usuario que va a recibir el mensaje, en este caso tu propio ID. Para obtenerlo, busca en tu APP un usuario que se llama @userinfobot
. Cuidado que hay muchos parecidos. Entra y escibe cualquier cosa. Te decolverá un mensaje con, entre otras cosas, tu ID. Escríbelo en el script
. El resto del script es bastante claro y la instrucción curl es la llamada al API de Telegram.
Cuidado ahora, porque yo me he vuelto un poco loco. Antes de ejecutar el script
, debes meterte en el chat y escribir un mensaje, para activarlo, sino, te dará error. Vete al mensaje en el que te dio el TOKEN
y justo encima está la dirección. Pulsa y se abrirá el chat. escribe algo, lo que sea, y ya está.
Para terminar, da permiso de ejecución al script
con chmod +x mensaje.sh y ejecútalo con ./mensaje.sh.
Si has seguido los pasos debería llegarte un mensaje a tu aplicación. Sencillo ¿no?.
Puedes utilizarlo para que te avise de eventos que sucedan en tus servidores, o estados de los pines cada cierto tiempo vía cron
. Las posibilidades son ilimitadas.
Para usarlo con Python
existe la librería pyTelegramBotAPI.
Espero que te haya sido de utilidad, no dudes en escribir un comentario si ves algún error o si puedo ayudarte.
Utiliza este espacio si quieres añadir algún comentario adicional o si tienes alguna duda.
No olvides añadir tu distribución y tu placa.
Todos los comentarios serán validados antes de su publicación.
Copyright © 2024 desde 2016. Todos los derechos reservados | Diseño JaviPSantos