Ir al contenido principal

Plugins: Telegram

Recibe notificaciones de eventos directamente en tu grupo de Telegram o envíalas a contactos específicos de forma individual.

Sergio M avatar
Escrito por Sergio M
Actualizado esta semana

Con el plugin de Telegram podrás configurar fácilmente eventos en Ubidots que envían mensajes a un grupo de Telegram, o incluso a contactos específicos de forma individual. Esto es posible gracias a una URL HTTPS proporcionada por el plugin que recibe mensajes y los envía utilizando tu propio bot de Telegram.

1. Creando un bot de Telegram

Para que este plugin funcione, primero debemos crear un bot en Telegram. Sigue estos pasos para hacerlo:

  1. Abre la aplicación de Telegram.

  2. Toca el ícono de búsqueda en la esquina superior derecha.

  3. Escribe "botfather" en la barra de búsqueda y toca el resultado de BotFather para iniciar un chat.

  4. En el chat con BotFather, escribe "/newbot" y envía el mensaje.

  5. BotFather te pedirá que elijas un nombre para tu bot, elige uno y envíalo como mensaje.

  6. Elige un nombre de usuario único para tu bot. Este nombre de usuario debe terminar con la palabra "bot" (por ejemplo, "myexamplebot"). Envía el nombre de usuario como un mensaje.

  7. Si el nombre de usuario elegido está disponible, BotFather creará el bot y te proporcionará un token. Este token se utilizará como entrada para este plugin.

2. Configurando el plugin

Ve a “Dev Center” → “Plugins”. Haz clic en el botón “+” en la esquina superior derecha, elige la opción de Telegram y sigue estos pasos:

  1. Ingresa el token de tu bot.

  2. Nombra tu plugin.

  3. Completa una descripción (opcional).

3. Configuración del grupo de Telegram

Ahora es el momento de invitar al bot al grupo donde queremos recibir los mensajes de nuestro plugin/evento. Sigue estos pasos:

(Si prefieres enviar mensajes directamente a contactos individuales en lugar de utilizar un grupo de Telegram, por favor salta este paso y continúa con la segunda alternativa en el Paso 4.)

  1. Abre la aplicación de Telegram.

  2. Haz clic en el icono de hamburguesa y luego haz clic en “Nuevo Grupo”. Dale un nombre distintivo (por ejemplo, "Alertas Meteorológicas").

  3. Invita a tu bot al grupo.

  4. Envía un mensaje tipo comando inicial al grupo (incluso si el comando no hace nada). Los comandos en Telegram comienzan con “/”, así que este mensaje inicial puede ser algo como “/help”.

4. Creando un evento que activa el plugin de Telegram

En este caso, el tipo de acción que debemos usar para nuestro evento es el “trigger webhook”. Para configurar este tipo de evento, sigue esta guía y recuerda introducir las siguientes entradas de acuerdo a lo indicado:

  • Coloca la URL del endpoint HTTPS de tu plugin en el campo “URL” durante la configuración de “acciones”. Puedes localizar esta URL ingresando a tu plugin y luego dirigiéndote a su sección de “decoder”.

Nota: Es mejor si escribes manualmente todas las comillas dobles en la carga útil para evitar posibles problemas de formato.

Alternativa 1: grupo de Telegram

  • Cambia el payload predeterminado con este JSON:

    {"groupname": "<GROUPNAME>", "message": "<MESSAGE>"}

    Donde:

    • <GROUPNAME> es el nombre del grupo de Telegram. Esta entrada es sensible a mayúsculas y minúsculas, así que asegúrate de escribir/copiar exactamente el nombre como aparece en Telegram.

    • <MESSAGE> es el contenido del mensaje que se enviará.

Alternativa 2: contactos individuales

  • Cambia el payload predeterminado con este JSON:

    {"to": "<NUMBER(S)>", "message": "<MESSAGE>"}

    Donde:

    • <NUMBER(S)> es el campo donde debes ingresar los números a los cuales quieres enviar la alerta. Ten en cuenta las siguientes consideraciones:

      • Cada número debe incluir su respectivo código indicativo de país (por ejemplo, "+57 XXX", "+52 XXX").

      • Puedes enviar una misma alerta a múltiples números, separándolos con una "coma" en el campo de texto, por ejemplo: "+57 XXX, +52 XXXX". El mensaje será enviado individualmente a cada número de la lista.

    • <MESSAGE> es el contenido del mensaje que se enviará.

Tras la primera activación del evento, cada usuario recibirá un SMS similar al que se muestra a continuación. Deberán aceptar el servicio de notificaciones haciendo clic en el enlace proporcionado en el mensaje:

Nota: Si el usuario no hace clic en el enlace, continuará recibiendo el mismo mensaje con cada activación hasta que sea aceptado. Una vez confirmado, quedará habilitado para recibir alertas estándar a partir de la siguiente activación del evento.

5. Asocia el nuevo grupo con el bot en el plugin de Telegram

Para asegurarte de que el plugin almacene correctamente el ID del chat vinculado al bot, debes activar el webhook cuando el bot se agregue a un nuevo grupo. Si no se realiza esta acción dentro de las 24 horas posteriores a la adición del bot, el plugin no podrá enviar mensajes a este chat.

Puedes activar el webhook del plugin utilizando cualquier software que permita enviar solicitudes HTTP, como Postman. Usa la siguiente solicitud:

curl -X POST 'https://dataplugin.ubidots.com/api/web-hook/<plugin>' \
-H 'Content-Type: application/json' \
-d '{"groupname": "<GROUPNAME>", "message": "<MESSAGE>"}'

Esto también te brinda la oportunidad de enviar un mensaje inicial para presentar el bot al grupo y proporcionar contexto sobre su propósito:

Y así es como se vería en el grupo:

6. Solución de problemas

Puedes verificar el estado de la entrega de mensajes revisando los registros del plugin. También puedes probar tu bot enviando una solicitud HTTPS POST directa a la URL de este plugin utilizando una herramienta HTTP como Postman. Esta solicitud también debe tener un payload como se indicó anteriormente.

¿Ha quedado contestada tu pregunta?