Telegram Convert File
Descripcion
Sección titulada «Descripcion»Este modulo descarga archivos (imagenes, documentos, etc.) recibidos a traves de un bot de Telegram utilizando el file_id proporcionado por la API de Telegram. Su flujo de ejecucion es:
- Obtiene el
file_iddel contenido de entrada (data.content). - Verifica que el
botTokeneste disponible en los datos de entrada. - Llama a la API de Telegram
getFilepara obtener la ruta del archivo en los servidores de Telegram. - Descarga el archivo desde
https://api.telegram.org/file/bot{token}/{file_path}. - Guarda el archivo en el directorio temporal
temporal/cli_{client_id}/:- Para fotos: genera un nombre con timestamp (
image-{timestamp}.png). - Para documentos: usa el nombre original del archivo (
data.metadata.file_name).
- Para fotos: genera un nombre con timestamp (
- Genera una URL publica de descarga basada en
ENGINE_HOST. - Retorna los datos originales enriquecidos con
filename,filePath(ruta local) yurlPath(URL publica).
El archivo descargado queda disponible para nodos posteriores que necesiten procesarlo (ej: agentChat para analisis de imagenes, sendMail para adjuntar, etc.).
Configuracion
Sección titulada «Configuracion»Este modulo no tiene parametros de configuracion en scheme. Los datos necesarios se obtienen de la entrada del flujo:
| Parametro (en datos de entrada) | Tipo | Requerido | Descripcion |
|---|---|---|---|
| content | text | Si | El file_id del archivo enviado por Telegram (ej: message.photo[n].file_id). |
| botToken | text | Si | Token del bot de Telegram. |
| chatId | text | No | ID del chat de Telegram. |
| type | text | No | Tipo de archivo: “photo” para imagenes, otro para documentos. |
| metadata.file_name | text | No | Nombre original del archivo (para documentos). |
Credenciales
Sección titulada «Credenciales»El botToken del bot de Telegram se espera en data.botToken. No usa el sistema de credenciales directamente sino que recibe el token desde el nodo trigger de Telegram.
{ "nextModule": "siguiente-nodo", "data": { "content": "AgACAgIAAxkBAAI...", "botToken": "123456:ABC-DEF...", "chatId": "987654321", "type": "photo", "filename": "image-1711180800000.png", "filePath": "/app/temporal/cli_1/image-1711180800000.png", "urlPath": "https://mi-engine.com/download/cli_1/image-1711180800000.png" }}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Caso basico
Sección titulada «Caso basico»Este modulo se coloca despues de un trigger de Telegram que recibe mensajes con archivos. Los datos de entrada tipicos provienen automaticamente del trigger:
{ "content": "AgACAgIAAxkBAAI...", "botToken": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11", "chatId": "987654321", "type": "photo", "metadata": { "file_name": "documento.pdf" }}API Utilizada
Sección titulada «API Utilizada»- Telegram Bot API:
GET https://api.telegram.org/bot{token}/getFile?file_id={fileId}- Obtener ruta del archivo.GET https://api.telegram.org/file/bot{token}/{file_path}- Descargar el archivo.
- Documentacion: https://core.telegram.org/bots/api#getfile
- Los archivos se guardan en
temporal/cli_{client_id}/. El directorio se crea automaticamente si no existe. - Telegram tiene un limite de 20 MB para descarga de archivos via la API de bots.
- Para fotos, el nombre se genera automaticamente con timestamp. Para documentos, se usa el nombre original.
- La URL publica de descarga depende de la variable de entorno
ENGINE_HOST. - Los datos originales de entrada se preservan en la salida, enriquecidos con los campos de archivo.
- Este modulo es ideal para preprocesar archivos antes de pasarlos a modulos como
agentChat(analisis de imagenes) osendMail(adjuntos).
Nodos Relacionados
Sección titulada «Nodos Relacionados»- agentChat (Agente IA Conversacional - para analizar imagenes descargadas)
- sendMail (Send Mail - para adjuntar archivos descargados)
- openaiImages (OpenAI Generate Image)