Construye tu BOT con N8N

Esta vez veremos como crear un BOT para dar la bienvenida y despedida de un canal de telegram.


5 min de lectura
Construye tu BOT con N8N

Hola,
En está ocasión veremos como crear un bot de telegram para que de la bienvenida a los miembros de nuestros grupos al entrar, es el mismo workflow que hemos creado para el grupo de telegram de N8N.

Para crear un bot es necesarío usar el bot que crea todos los bots de telegram @BotFather también lo podéis encontrar buscando en el buscador de telegram así.

BuscarBot

Ahora que ya hemos encontrado a BotFather voy a enseñaros como se debe crear el bot para obtener el token que usaremos para poder usarlo en el node de telegram.

Creación de un bot con BotFather

Debéis seguir estos pasos para conseguir la token y copiarla.

CrearBot

Una vez tenemos el bot creado debemos ir a nuestra instancia de n8n y usar el node telegram trigger y crear la credencial para acceder al bot.

Pero antes de eso vamos a preparar el bot para que sea capaz de leer los mensajes de los grupos por defecto no lee los mensajes.

Para ello hacemos lo siguiente:

PrivacyMode

Una vez tenemos el bot creado, debemos añadirlo a nuestro grupo y darle permisos como administrador.

promoteadmin

Una vez tenemos esto ya podemos empezar a crear nuestro bot.

Un grupo de telegram puede ser público o privado.

Los grupos públicos se pueden buscar con el buscador y tienen un nombre personalizable para poder compartirlos.

En cambio los grupos privados solo puedes acceder si tienes el enlace de acceso y añadir un bot en estos grupos es más dificil de localizar ya que no usan ningún nombre o identificador conocido pero es fácil de encontrar si sabes como.

Para crear nuestro workflow vamos a necesitar el id del grupo, para los grupos públicos es muy fácil porque puedes usar @nombredegrupo pero para los grupos privados debes encontrar el ID que usa el grupo y no es tan fácil.

Encontrar ID de grupo privado

Para encontrar el id de grupo vamos a necesitar la token que hemos creado de nuestro bot de telegram y usar la api de telegram para encontrar el id.

En este caso el token que nos ha dado es:

1498259227:AAHA5fbiW_FU6rD-jJCLzXyh8cvG1wsxZ2s

Una vez tenemos el token localizado debemos entrar en el grupo que hemos creado y debemos escribir algo por ejemplo Hola.

Ahora abrimos el navegador y usamos una url como esta
https://api.telegram.org/bot1498259227:AAHA5fbiW_FU6rD-jJCLzXyh8cvG1wsxZ2s/getUpdates

Básicamente el formato es el siguiente.

https://api.telegram.org/botTOKEN/getUpdates

Donde TOKEN es la key que nos ha dado BotFather al crear el bot.

La salida de este comando al visitar la url en el navegador es la siguiente:

{"ok":true,"result":[{"update_id":30979103,
"message":{"message_id":2,"from":{"id":8776348,"is_bot":false,"first_name":"Aitor","last_name":"Roma","username":"TuXeD"},"chat":{"id":-351884736,"title":"Grupo de prueba","type":"group","all_members_are_administrators":true},"date":1609612904,"text":"Hola"}}]}

En este caso debemos fijarnos en esto:

"chat":{"id":-351884736,"title":"Grupo de prueba"

El ID que deberemos usar es en este caso -351884736

Ahora que ya tenemos los datos que necesitamos.

  • Token
  • Group ID

Vamos a crear el Workflow.

Esté será nuestro Workflow.

Captura-de-pantalla-2021-01-02-a-las-19.53.17

Para este workflow vamos a usar básicamente 3 nodes.

Node Telegram Trigger

Referencia doc: https://n8n.io/integrations/n8n-nodes-base.telegramTrigger
Descripción: El Trigger node de telegram esta escuchando a la espera de mensajes

Node Telegram

Referencia doc: https://n8n.io/integrations/n8n-nodes-base.telegram
Descripción: El node de telegram permite interactuar con telegram enviando mensajes, ficheros, audio, imágenes, etc

Node IF

Referencia doc: https://n8n.io/integrations/n8n-nodes-base.if
Descripción El node if es un condicional que permite realizar acciones según las condiciones que le indicamos.

Creación credenciales

Ahora que ya tenemos todo lo que necesitamos vamos a crear las credenciales y crear la primera pieza de nuestro bot el trigger de telegram.

CreateCredential

Condicionales

En el workflow tenemos dos nodes if estos:

Captura-de-pantalla-2021-01-02-a-las-20.40.17

Vamos a pasar a analizarlos.

Saludos-IF

Tenemos un condicional que evalua que el campo new_chat_member no está vacío pasa pasar a ejecutar el siguiente node.

{{$node["Saludos-TelegramTrigger"].json["message"]["new_chat_member"]["first_name"]}}

Una vez evaludado ejecutara el comando S-Telegram2

S-Telegram2

S-Telegram2 es un nodo de tipo telegram y en el debemos seleccionar:

  • Telegram API ( Token de telegram )
  • Chat ID ( ID númerico para privado, @nombregrupo para público )
  • Text Mensaje de Bienvenida

Captura-de-pantalla-2021-01-02-a-las-20.53.54

Detalles del mensaje:
En el campo text seleccionaremos como Expresión y usaremos la variable:

{{$node["Saludos-TelegramTrigger"].json["message"]["new_chat_member"]["first_name"]}}*

Para que capture el nombre del usuario que ha entrado en nuestro canal por primera vez y darle la bienvenida usando su nombre.

Captura-de-pantalla-2021-01-02-a-las-21.01.31

Saludos-IF1

Este es un node de tipo if que sirve para enviar un mensaje de despedida a los usuarios que se van del canal.

Es lo mismo que para Saludos-IF pero cambiando la variable por left_chat_member

{{$node["Saludos-TelegramTrigger"].json["message"]["left_chat_member"]["first_name"]}}

Se ejecutaría el siguiente node de telegram si el valor no es empty porque lo conectamos en false.

S-Telegram

Este node de tipo Telegram se configura como el node S-Telegram2
Pero cambiamos el mensaje text por:

✖️ {{$node["Saludos-TelegramTrigger"].json["message"]["left_chat_member"]["first_name"]}} DEP. 🙏 Que los Dioses te protejan.

Con todo estoy ya podemos crear nuestro primer Welcome Chat.
Adjunto el workflow para que lo podais importar en vuestra instancia de n8n.

Workflow: https://n8n.io/workflows/872


Tratamiento de textos con N8N
Artículo anterior

Tratamiento de textos con N8N

Aprende N8N con este ejemplo sencillo, veras algunas funciones javascript para tratamiento de textos y aprenderás a interconectar los distintos nodes.

Bot Multi Idioma No-Code
Artículo siguiente

Bot Multi Idioma No-Code

Como crear un bot capaz de hablar en 108 idiomas


Artículos Relacionados

Bot Multi Idioma No-Code
2 min de lectura

SUBIR

🎉 Te has suscrito con éxito a Comunidad N8N!
OK