Chatbot de Telegram multimodal — texto, foto y nota de voz — con memoria conversacional y la personalidad de un pediatra estilo Dr. House.
Construido íntegramente en n8n (16 nodos, cero código de servidor propio), autoalojado con Coolify en un VPS. Nobelia desdramatiza la paternidad primeriza: desmonta mitos pseudocientíficos, responde con ironía afilada y, en el fondo, se preocupa genuinamente por los bebés.
- Entiende texto, imágenes y notas de voz. Un switch de entrada enruta cada tipo de mensaje por su propia rama: las fotos y audios se descargan de Telegram, se extraen a base64 y se envían al endpoint multimodal correspondient
- Recuerda la conversación. Historial persistente por chat implementado con dos nodos de código sobre el almacenamiento estático del workflow — memoria conversacional sin base de datos ni ninguna pieza extra de infraestructura.
- Tiene carácter. Un system prompt cuidado le da voz propia: pediatra con 20 años de urgencias, humor seco, alergia a los collares de ámbar y al "abrígalo más".
⚠️ Nobelia no es un médico. Es un proyecto personal de automatización con IA. Sus respuestas no constituyen consejo médico; ante cualquier duda real sobre la salud de un bebé, acude a tu pediatra o a urgencias.
Todo corre en un único workflow de n8n desplegado como servicio en Coolify sobre un VPS propio, detrás de dominio y SSL gestionados por la propia plataforma.
n8n · Telegram Bot API · Google Gemini (Flash-Lite, endpoints de texto/visión/audio vía HTTP) · Coolify · VPS autoalojado
Necesitas una instancia de n8n (autoalojada o cloud), un bot de Telegram y una API key de Gemini.
- Importa el workflow: en n8n, Workflows → Import from File →
workflow/nobelia.json. - Crea las dos credenciales que el workflow referencia (los secretos no viajan en el JSON):
- Telegram API — el token de BotFather.
- Header Auth — cabecera
x-goog-api-keycon tu API key de Google AI Studio, usada por los tres nodos HTTP de Gemini.
- Asigna las credenciales a los nodos que las piden (n8n los marca en rojo) y activa el workflow. El trigger de Telegram registra el webhook automáticamente.
- Escríbele al bot. Si responde con sarcasmo, funciona.
- La personalidad vive en un único nodo (
Prompts): edita elsystemPrompty tienes otro bot completamente distinto sin tocar el flujo. - El modelo se cambia en la URL de los tres nodos HTTP de Gemini.
- La memoria se puede acotar (nº de turnos que recuerda) en el nodo
Cargar historial.
nobelia/
├── README.md
├── LICENSE
├── workflow/
│ └── nobelia.json # export sanitizado del workflow (sin secretos ni pin data)
└── docs/
├── nobelia (2).jpg # el lienzo de n8n con los 16 nodos
└── nobelia (1).jpg # conversación de ejemplo
- Por qué sin base de datos: para el volumen de un bot personal, el almacenamiento estático del workflow es suficiente y elimina una dependencia entera. Si el bot creciera, el punto de corte natural es sustituir los dos nodos de código por Postgres/Redis sin tocar el resto del flujo.
- Por qué HTTP directo a Gemini en vez del nodo de IA de n8n: control total del payload multimodal (texto, imagen y audio comparten estructura de petición) y del historial que se inyecta en cada llamada.
- Privacidad: el export publicado no contiene tokens, claves,
pin datani historial de conversaciones — las credenciales se referencian por nombre y los secretos viven solo en la instancia de n8n.
MIT — ver LICENSE.
.jpg)
.jpg)