Aprende Inteligencia Artificial y Acelera tu Futuro

Descubre cómo la IA puede multiplicar tu productividad y cambiar tu forma de trabajar.

Acceder al Curso Ahora

Tutorial Completo: Bot de Telegram con IA usando N8N y OpenRouter

Tabla de contenidos

Introducción

En este tutorial aprenderás a crear un bot de Telegram inteligente que responde usando inteligencia artificial. El bot utiliza:

  • Telegram para recibir y enviar mensajes
  • N8N como plataforma de automatización
  • OpenRouter para acceder a modelos de IA (usaremos DeepSeek Chat que es gratuito)
  • AI Agent para procesar las conversaciones
  • Memory para recordar el contexto de la conversación

Requisitos previos

Antes de empezar necesitas:

  • Una cuenta en Telegram
  • Una instancia de N8N funcionando (local o en la nube)
  • Una cuenta en OpenRouter (gratuita)

Paso 1: Crear el Bot de Telegram

1.1 Contactar a BotFather

  1. Abre Telegram (aplicación móvil o web)
  2. Busca el usuario @BotFather
  3. Inicia una conversación haciendo clic en «Start»

1.2 Crear el nuevo bot

  1. Envía el comando: /newbot
  2. BotFather te pedirá un nombre para tu bot:
    • Escribe un nombre descriptivo
    • Ejemplo: Mi Asistente IA
  3. Luego te pedirá un username (debe terminar en «bot»):
    • Debe ser único en Telegram
    • Ejemplo: mi_asistente_ia_bot
  4. Guarda el Token de API que te proporciona
    • Se verá así: 1234567890:ABCdefGHIjklMNOpqrsTUVwxyz
    • Este token es como la contraseña de tu bot, guárdalo en un lugar seguro

Paso 2: Obtener API Key de OpenRouter

2.1 Crear cuenta en OpenRouter

  1. Ve a https://openrouter.ai
  2. Haz clic en «Sign Up» o «Get Started»
  3. Regístrate con tu email o cuenta de Google

2.2 Generar API Key

  1. Una vez dentro, ve a «Keys» en el menú (o https://openrouter.ai/keys)
  2. Haz clic en «Create Key»
  3. Dale un nombre: N8N Telegram Bot
  4. Haz clic en «Create»
  5. Copia y guarda la API Key que se genera
    • Se verá así: sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxx
    • Solo se muestra una vez, guárdala bien

2.3 Verificar créditos (opcional)

  1. Ve a la sección «Credits»
  2. OpenRouter da algunos créditos gratuitos al registrarte
  3. Usaremos el modelo DeepSeek que es gratuito, así que no necesitas añadir créditos

Paso 3: Configurar N8N

3.1 Acceder a N8N

  1. Abre tu navegador
  2. Ve a tu instancia de N8N (ejemplo: https://tu-n8n.ngrok-free.app)
  3. Inicia sesión con tus credenciales

3.2 Crear un nuevo Workflow

  1. En el dashboard de N8N, haz clic en «Workflows» en el menú lateral
  2. Haz clic en el botón «Add Workflow» o el icono «+»
  3. Dale un nombre al workflow: Bot Telegram IA
  4. Haz clic en «Save» para guardar el workflow vacío

Paso 4: Añadir el Telegram Trigger

4.1 Añadir el nodo

  1. En el canvas vacío, haz clic en el botón «+» o «Add first step»
  2. En el buscador, escribe: Telegram Trigger
  3. Selecciona «Telegram Trigger» de la lista

4.2 Configurar las credenciales de Telegram

  1. En el nodo, verás «Credential to connect with»
  2. Haz clic en «Select Credential»
  3. Como es la primera vez, selecciona «Create New Credential»
  4. Se abrirá un modal con el formulario:
    • Access Token: Pega el token que te dio BotFather
  5. Haz clic en «Save» para guardar las credenciales
  6. El modal se cerrará y volverás al nodo

4.3 Configurar el tipo de actualización

  1. En el campo «Updates», selecciona: message
    • Esto hace que el bot escuche solo mensajes de texto
  2. Deja el resto de opciones por defecto

Paso 5: Añadir el AI Agent

5.1 Añadir el nodo AI Agent

  1. Haz clic en el «+» a la derecha del nodo Telegram Trigger
  2. En el buscador, escribe: AI Agent
  3. Selecciona «AI Agent» de la lista

5.2 Configurar el Chat Model (OpenRouter)

  1. En el nodo AI Agent verás varios campos
  2. Busca el campo «Chat Model» (tendrá un asterisco rojo indicando que es obligatorio)
  3. Haz clic en «Choose Model to Use» o el menú desplegable
  4. Selecciona «OpenRouter Chat Model»

5.3 Configurar las credenciales de OpenRouter

  1. Se abrirá la configuración del modelo OpenRouter
  2. En «Credential to connect with», haz clic en «Select Credential»
  3. Selecciona «Create New Credential»
  4. En el formulario que aparece:
    • API Key: Pega tu API Key de OpenRouter (la que empieza con sk-or-v1-)
  5. Haz clic en «Save»
  6. Dale un nombre a esta credencial si te lo pide: OpenRouter account

5.4 Seleccionar el modelo DeepSeek

  1. Ahora verás el campo «Model»
  2. Haz clic en el menú desplegable
  3. Busca y selecciona: deepseek/deepseek-chat
    • Este modelo es completamente gratuito
    • Tiene muy buen rendimiento

5.5 Configurar la memoria (Simple Memory)

  1. En el nodo AI Agent, busca el campo «Memory»
  2. Haz clic en «Add Memory» o en el menú desplegable
  3. Selecciona «Simple Memory» (Window Buffer Memory)
    • Esto permite que el bot recuerde la conversación
  4. En la configuración de Simple Memory:
    • Context Window Length: Deja el valor por defecto (5-10 mensajes)
  5. Guarda la configuración

5.6 Añadir herramienta Wikipedia (opcional)

  1. En el nodo AI Agent, busca el campo «Tool»
  2. Haz clic en «Add Tool»
  3. Selecciona «Wikipedia»
    • Esto permite que el bot busque información en Wikipedia cuando sea necesario
  4. Deja la configuración por defecto

Paso 6: Añadir el nodo Telegram para enviar respuestas

6.1 Añadir el nodo Telegram

  1. Haz clic en el «+» a la derecha del nodo AI Agent
  2. En el buscador, escribe: Telegram
  3. Selecciona «Telegram» (no Telegram Trigger)

6.2 Configurar las credenciales

  1. En «Credential to connect with», selecciona las credenciales de Telegram que creaste antes
    • Deben aparecer automáticamente en el menú

6.3 Configurar la operación

  1. En «Resource», selecciona: Message
  2. En «Operation», selecciona: Send a Text Message o sendMessage

6.4 Configurar el Chat ID

  1. En el campo «Chat ID», haz clic
  2. Activa el modo de expresiones (icono «fx» o «={«)
  3. Pega esta expresión:
={{ $('Telegram Trigger').item.json.message.chat.id }}

Esta expresión obtiene el ID del chat desde el Telegram Trigger para responder al mismo usuario que envió el mensaje.

6.5 Configurar el mensaje

  1. En el campo «Text» o «Message», activa el modo de expresiones
  2. Pega esta expresión:
={{ $json.output }}

Esta expresión toma la respuesta generada por el AI Agent.


Paso 7: Conectar los nodos

7.1 Verificar las conexiones

Asegúrate de que los nodos estén conectados en este orden:

[Telegram Trigger] → [AI Agent] → [Telegram - Send Message]

Las líneas verdes entre los nodos indican que están correctamente conectados.

7.2 Verificar los subnodos

Dentro del AI Agent deberías ver conectados:

  • OpenRouter Chat Model (como Chat Model)
  • Simple Memory (como Memory)
  • Wikipedia (como Tool, opcional)

Paso 8: Guardar y activar el Workflow

8.1 Guardar el workflow

  1. Haz clic en el botón «Save» en la parte superior derecha
  2. Confirma que el nombre sea correcto: Bot Telegram IA

8.2 Activar el workflow

  1. En la parte superior derecha, busca el toggle «Inactive/Active»
  2. Haz clic para activarlo (debe ponerse en verde)
  3. Verás un mensaje confirmando que el workflow está activo

⚠️ Importante: El workflow debe estar activo para que el bot funcione. Si está inactivo, no responderá a mensajes.


Paso 9: Probar el Bot

9.1 Buscar tu bot en Telegram

  1. Abre Telegram (móvil o web)
  2. En el buscador, escribe el username de tu bot (ejemplo: @mi_asistente_ia_bot)
  3. Haz clic en el bot cuando aparezca
  4. Haz clic en «Start» o «Iniciar»

9.2 Enviar mensajes de prueba

Prueba con estos mensajes:

  1. Mensaje simple: Hola, ¿cómo estás? El bot debería responder de manera amigable.
  2. Pregunta con contexto: ¿Cuál es la capital de Francia? Luego: ¿Y su población? Gracias a la memoria, el bot entenderá que «su» se refiere a Francia.
  3. Pregunta para Wikipedia: ¿Quién fue Albert Einstein? El bot debería buscar en Wikipedia y dar una respuesta informada.

9.3 Verificar las ejecuciones en N8N

  1. Ve a N8N
  2. Haz clic en «Executions» en el menú lateral
  3. Verás una lista de todas las veces que el workflow se ejecutó
  4. Haz clic en cualquier ejecución para ver los datos que pasaron por cada nodo

Paso 10: Personalizar el Bot (opcional)

10.1 Añadir un prompt del sistema

  1. Ve al nodo AI Agent
  2. Busca el campo «Prompt» o «System Message»
  3. Añade instrucciones personalizadas:
Eres un asistente útil y amigable. Respondes de manera clara y concisa. 
Siempre eres educado y profesional. Si no sabes algo, lo admites honestamente.

10.2 Cambiar el modelo de IA

Si quieres probar otros modelos:

  1. Ve al nodo OpenRouter Chat Model
  2. En «Model», selecciona otro modelo:
    • google/gemini-2.0-flash-exp:free (gratis, rápido)
    • meta-llama/llama-3.1-8b-instruct:free (gratis)
    • anthropic/claude-3.5-sonnet (de pago, muy potente)
    • openai/gpt-4o-mini (de pago, económico)

10.3 Ajustar la memoria

  1. Ve al nodo Simple Memory
  2. Cambia «Context Window Length»:
    • 5: Memoria corta (últimos 5 mensajes)
    • 10: Memoria media
    • 20: Memoria larga (más contexto, pero más tokens usados)

10.4 Añadir más herramientas

En el nodo AI Agent, puedes añadir más herramientas:

  • Calculator: Para cálculos matemáticos
  • Code: Para ejecutar código
  • HTTP Request: Para consultar APIs externas

Solución de problemas

❌ El bot no responde

Posibles causas:

  1. El workflow no está activo
    • Solución: Ve a N8N y activa el toggle «Active»
  2. Token de Telegram incorrecto
    • Solución: Verifica el token en las credenciales, debe coincidir con el de BotFather
  3. Ngrok se detuvo (si usas ngrok)
    • Solución: Reinicia ngrok y actualiza la URL del webhook si es necesario
  4. Error en las credenciales
    • Solución: Ve a «Executions» en N8N y mira el error específico

❌ Error «Invalid API Key» de OpenRouter

Solución:

  1. Ve a OpenRouter y verifica que la API Key sea correcta
  2. Asegúrate de copiar la key completa (incluyendo sk-or-v1-)
  3. Recrea las credenciales en N8N si es necesario

❌ El bot responde pero con errores o texto extraño

Posible causa: La expresión del campo «Text» es incorrecta

Solución:

  1. Ve al nodo Telegram (Send Message)
  2. Ejecuta el workflow manualmente
  3. Inspecciona la salida del AI Agent
  4. Ajusta la expresión según la estructura de datos
    • Prueba: ={{ $json.output }}
    • O: ={{ $json.text }}
    • O: ={{ $json.response }}

❌ El bot no recuerda la conversación

Posible causa: La memoria no está configurada o conectada

Solución:

  1. Verifica que el nodo Simple Memory esté conectado al AI Agent
  2. Asegúrate de que la memoria esté en el campo «Memory» del AI Agent
  3. Aumenta el «Context Window Length» si es necesario

❌ Respuestas muy lentas

Posible causa: El modelo tarda en procesar

Solución:

  1. Usa un modelo más rápido como deepseek/deepseek-chat
  2. Reduce el «Context Window Length» de la memoria
  3. Elimina herramientas innecesarias del AI Agent

Mejoras adicionales

1. Añadir comandos personalizados

Puedes hacer que el bot responda a comandos específicos:

  1. Añade un nodo «IF» entre Telegram Trigger y AI Agent
  2. Configura condiciones:
    • Si el mensaje empieza con /help: responder con instrucciones
    • Si el mensaje empieza con /reset: limpiar la memoria
    • Si no: pasar al AI Agent normalmente

2. Añadir límite de uso

Para evitar abusos:

  1. Añade un nodo «Code» para llevar un contador por usuario
  2. Limita a X mensajes por día/hora
  3. Responde con un mensaje cuando se alcance el límite

3. Guardar conversaciones en base de datos

Para análisis posterior:

  1. Añade un nodo de base de datos (PostgreSQL, MySQL, etc.)
  2. Guarda cada mensaje y respuesta con timestamp
  3. Analiza las conversaciones más tarde

4. Añadir botones interactivos

Telegram soporta botones en los mensajes:

  1. Usa el nodo Telegram con «Send Message»
  2. Añade «Reply Markup» con botones inline
  3. Captura las respuestas con Telegram Trigger (callback_query)

Estructura final del Workflow

┌─────────────────┐
│ Telegram Trigger│
│  (message)      │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│   AI Agent      │
│  ┌──────────┐   │
│  │OpenRouter│   │
│  │  Model   │   │
│  └──────────┘   │
│  ┌──────────┐   │
│  │  Simple  │   │
│  │  Memory  │   │
│  └──────────┘   │
│  ┌──────────┐   │
│  │Wikipedia │   │
│  │  (Tool)  │   │
│  └──────────┘   │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│    Telegram     │
│ (Send Message)  │
└─────────────────┘

Recursos adicionales

  • Documentación de N8N: https://docs.n8n.io
  • Documentación de OpenRouter: https://openrouter.ai/docs
  • Telegram Bot API: https://core.telegram.org/bots/api
  • Lista de modelos en OpenRouter: https://openrouter.ai/models

Conclusión

¡Felicidades! Ahora tienes un bot de Telegram inteligente funcionando con IA. El bot puede:

  • Mantener conversaciones naturales
  • Recordar el contexto de la conversación
  • Buscar información en Wikipedia cuando sea necesario
  • Responder 24/7 de manera automática

Puedes seguir mejorándolo añadiendo más herramientas, personalizando las respuestas, o integrándolo con otros servicios.

Tutoriales Más Vistos

Posts Más Vistos