Ir al contenido

Telegram

El modulo Telegram permite enviar mensajes de texto y archivos a chats o grupos de Telegram a traves de la API de Telegram Bot. Incluye funcionalidades avanzadas como indicador de “escribiendo…”, division automática de mensajes largos (mas de 4000 caracteres), reintentos con backoff exponencial ante errores de red o rate limiting, validación de formato Markdown, y fallback automático a texto plano si el formato falla. Es ideal para notificaciones, alertas y comunicación automatizada en workflows.

ParámetroTipoRequeridoDescripción
credentials_idcredentialsSiCredenciales del bot de Telegram
chatIdtextSiID del chat o grupo de destino
messagetextareaSiMensaje a enviar (soporta variables {{variable}})
parse_modeselectNoFormato del mensaje: Markdown V2, HTML o sin formato
show_typingbooleanNoMostrar indicador de “escribiendo…” antes de enviar (por defecto: true)

La credencial debe contener los campos:

  • botToken: Token del bot de Telegram (obtenido de @BotFather, formato 123456:ABC-DEF...)
  • chatId: ID del chat por defecto (puede ser sobreescrito por el campo chatId del nodo o por data.chatId)

Para configurar las credenciales, primero crea un bot en Telegram mediante @BotFather y obtiene el token. El chatId se puede obtener enviando un mensaje al bot y consultando la API de Telegram.

  1. Creá el bot con @BotFather (/newbot) y copiá el token (123456:ABC-DEF...).

  2. Creá la credencial en Floogos. En Credenciales → Nueva, elegí Telegram y pegá el botToken. Opcionalmente un chatId por defecto.

  3. Seleccioná la credencial en el campo Credenciales del bot del nodo Telegram.

Ver también: Credenciales de Telegram.

Cuando el mensaje llega desde el nodo Trigger Receive Telegram, el trigger deja el chat de origen en data.chatId. Para que la respuesta vuelva al mismo usuario, poné {{data.chatId}} en el campo Chat ID (o dejalo vacío: el nodo usa data.chatId automáticamente si está presente). Así no hace falta hardcodear un chat y sirve para cualquier usuario que escriba.

{
"nextModule": "siguiente_modulo",
"data": {
"status": 200,
"telegram_response": "success",
"messages_sent": 1
}
}
{
"credentials_id": "cred_telegram_01",
"chatId": "-1001234567890",
"message": "Pedido {{orderId}} procesado correctamente",
"parse_mode": "MarkdownV2",
"show_typing": true
}
  • Enviar mensaje: POST https://api.telegram.org/bot{token}/sendMessage
  • Enviar documento: POST https://api.telegram.org/bot{token}/sendDocument
  • Acción de typing: POST https://api.telegram.org/bot{token}/sendChatAction
  • Documentación: https://core.telegram.org/bots/api
  • Los mensajes de mas de 4000 caracteres se dividen automáticamente en múltiples envíos
  • Si el formato Markdown falla, se reintenta automáticamente en texto plano
  • Soporta variables dinámicas {{variable}} en el campo de mensaje
  • Incluye reintentos automáticos (hasta 3) con backoff exponencial para errores 429 y 5xx
  • El caption de archivos esta limitado a 1024 caracteres por la API de Telegram
  • El chatId puede venir del data de entrada (data.chatId), de la configuración del nodo, o de las credenciales
  • El typing_delay por defecto es de 300ms entre chunks de mensaje
  • whatsapp (mensajería vía WhatsApp/Twilio)
  • slack (mensajería vía Slack)