Bot de programación de eventos de Telegram
Este flujo es utilizado para mediante una integración con telegram programar eventos en google calendar
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
TelegramWebhook-no237[Telegram Webhook]
style TelegramWebhook-no237 stroke:#a170ff
ParseData-e810l[<div><img src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Parse Message]
style ParseData-e810l stroke:#a170ff
LanggraphReactAgent-ml7hk[Agent]
style LanggraphReactAgent-ml7hk stroke:#a170ff
TelegramMessage-m4cr5[Telegram Message]
style TelegramMessage-m4cr5 stroke:#a170ff
googlecalendarcomponent-xva04[Crear Eventos]
style googlecalendarcomponent-xva04 stroke:#a170ff
GoogleGenerativeAIModel-cx7b4[Gemini]
style GoogleGenerativeAIModel-cx7b4 stroke:#a170ff
TelegramWebhook-no237 -.- ParseData-e810l
linkStyle 0 stroke:#a170ff
ParseData-e810l -.- LanggraphReactAgent-ml7hk
linkStyle 1 stroke:#a170ff
GoogleGenerativeAIModel-cx7b4 -.- LanggraphReactAgent-ml7hk
linkStyle 2 stroke:#a170ff
TelegramMessage-m4cr5 -.- LanggraphReactAgent-ml7hk
linkStyle 3 stroke:#a170ff
googlecalendarcomponent-xva04 -.- LanggraphReactAgent-ml7hk
linkStyle 4 stroke:#a170ff
🧩 Descripción general
El flujo “Bot de programación de eventos de Telegram” integra Telegram y Google Calendar mediante un agente de IA. Recibe un mensaje del usuario a través de un webhook, analiza el texto con el modelo Gemini, decide la acción adecuada (crear un evento en Google Calendar y responder al usuario), y envía la respuesta de vuelta a Telegram. Esta automatización permite programar citas sin intervención manual, garantizando que los horarios y la información se gestionen en formato ISO 8601 y que la comunicación con el usuario sea clara y directa.
⚙️ Funcionalidades principales
- Captura automática de mensajes entrantes desde Telegram.
- Transformación de los datos del webhook en texto estructurado.
- Procesamiento inteligente del mensaje mediante el modelo Gemini con un agente react.
- Creación de eventos en Google Calendar usando parámetros extraídos del mensaje.
- Envío de la confirmación o error al usuario a través de Telegram.
🔄 Pasos del flujo de trabajo
| Nombre del componente | Rol en el flujo | Entradas clave | Salidas clave |
|---|---|---|---|
| Telegram Webhook | Recibe actualizaciones de Telegram y entrega los datos brutos. | Token del bot, JSON de la actualización | Mensaje (estructura de Telegram), Datos (raw) |
| Parse Message | Convierte los datos recibidos en texto legible y estructura útil. | Datos (raw) | Texto (mensaje del usuario), Datos procesados |
| Agent | Procesa el texto con Gemini, decide acciones y utiliza herramientas. | input_value (texto), llm (modelo Gemini), tools (TelegramMessage, Google Calendar) | Respuesta del agente, registro de uso de herramientas |
| Crear Eventos (Google Calendar) | Crea un evento en el calendario con la información proporcionada. | Operation = Create, start_date, end_date, summary, attendees, etc. | Datos (evento creado) |
| Telegram Message | Envía un mensaje al usuario en Telegram. | chat_id, text, operation = Send Text, etc. | Telegram Response |
🧠 Notas
- Formato de fecha: Las fechas y horas deben seguir estrictamente el estándar ISO 8601 (YYYY‑MM‑DD o YYYY‑MM‑DDTHH:MM:SS).
- Credenciales: Se requiere un token válido de Telegram Bot API, una clave de Google Generative AI y credenciales de Google Calendar.
- Dependencias: El agente necesita acceso a los componentes “Telegram Message” y “Crear Eventos” para poder enviar la respuesta y crear el evento respectivamente.
- Limitaciones: La creación de eventos solo ocurre cuando el agente decide que es apropiado; en caso contrario, la respuesta de Telegram puede indicar que no se pudo procesar la solicitud.
- Logs: El flujo habilita registro detallado (verbose) para depurar la lógica del agente y el uso de herramientas.
- Manejo de errores: Si alguna herramienta falla, el agente debe capturar el error y devolver un mensaje comprensible al usuario.