¿Nos ayudas a pagar el Hosting?

Compartir en facebook Compartir en twitter Compartir en linkedin

Enviar mensajes a Telegram en eventos o automatizados

Publicado en enero de 2021

Con 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.

Enviar mensajes a Telegram
Enviar mensajes a Telegram

Te responderá con todos los comandos que puedes usar.

Enviar mensajes a Telegram

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.

Enviar mensajes a Telegram
Enviar mensajes a Telegram

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.

Nombre*

Email* Nunca será publicado ni compartido

Comentario*



Copyright © 2021 desde 2016. Todos los derechos reservados | Diseño JaviPSantos

Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-ley 13/2012. Si continúa navegando consideramos que acepta el uso de cookies.

OK | Más información