Bot de agendamento de eventos do Telegram
Este fluxo é usado para agendar eventos no Google Calendar através de uma integração com o Telegram.
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
Documentação do Bot de Agendamento de Eventos no Telegram
🧩 Visão Geral
O bot de agendamento de eventos no Telegram automatiza a criação de eventos no Google Calendar diretamente a partir de um chat no Telegram.
Quando um usuário envia uma solicitação em linguagem natural, o bot analisa a mensagem, utiliza um modelo de linguagem Gemini para interpretar a intenção, seleciona a ferramenta apropriada (resposta no Telegram ou operação no Google Calendar) e a executa. O fluxo termina com uma mensagem de confirmação ou erro clara enviada de volta ao usuário.
⚙️ Funcionalidades Principais
- Webhook do Telegram para receber mensagens dos usuários em tempo real.
- Análise de mensagens que extrai ID do chat, ID da mensagem e texto do usuário.
- Agente com Gemini que compreende a intenção, planeja ações e produz respostas estruturadas.
- Ferramenta de mensagem do Telegram para responder diretamente aos usuários a partir do agente.
- Ferramenta do Google Calendar que cria, atualiza ou consulta eventos em um calendário específico.
- Integração completa que elimina cópia e cola manual e garante formatação consistente de datas/horários.
🔄 Etapas do Fluxo
| Nome do Componente | Papel no Fluxo | Entradas Principais | Saídas Principais |
|---|---|---|---|
| Telegram Webhook | Recebe mensagens do Telegram e converte o payload do webhook em um objeto Message estruturado. | - Payload JSON do Telegram (fornecido pelo Telegram) | Message (mensagem do Telegram), Data (dados brutos do webhook) |
| Parse Data | Formata os dados brutos do webhook em texto simples usando um template predefinido, expondo a mensagem do usuário. | Data (do Telegram Webhook) | Text (mensagem do usuário em texto simples) |
| Gemini | Gera uma resposta do modelo de linguagem, fornecendo o texto que orienta o raciocínio do agente. | Text (do Parse Data) | Text (saída do Gemini) |
| Langgraph React Agent | Orquestra a conversa, seleciona ferramentas com base na intenção e executa ações. | Input Value (saída do Gemini), LLM (modelo Gemini), Tools (Telegram Message, Google Calendar) | Response (resposta final do agente) |
| Telegram Message | Ferramenta que envia uma resposta de volta ao usuário no Telegram. | Chat ID, Text (da resposta do agente) | Telegram Response (confirmação da mensagem enviada) |
| Google Calendar | Ferramenta que cria ou atualiza um evento no calendário conforme a intenção analisada. | Operation (Create/Update), Calendar ID, Event Details (resumo, horários de início/fim, participantes etc.) | Data (resultado da criação do evento) |
🧠 Observações
- O bot depende de credenciais válidas da Telegram Bot API e tokens OAuth do Google Calendar, configurados como campos de credenciais ocultos.
- Valores de data e hora para eventos devem seguir o padrão ISO‑8601 (ex.:
YYYY-MM-DDpara eventos de dia inteiro ouYYYY-MM-DDTHH:MM:SSpara eventos com horário definido). - O modelo Gemini está configurado com temperatura 1 e sem ajustes especiais de top‑k ou top‑p; ajuste se desejar outro estilo de resposta.
- O system prompt do agente impõe formatação rigorosa de datas e instrui o modelo a enviar mensagens finais de volta ao Telegram.
- O fluxo suporta atualmente uma conversa de mensagem única; para interações multi-turno, habilite as configurações de memória do agente (
message_memory). - Se a operação no calendário falhar, o agente deve recorrer a enviar uma mensagem de erro via ferramenta Telegram Message.
Fim da Documentação