Telegram Data Transformation
Telegram Data Transformation recibe un mensaje de Telegram tal como llega a tu bot y extrae de él los datos que normalmente necesita un flujo: en qué chat se escribió, quién lo escribió, cuándo y qué dice. También puede preparar esos datos con la forma adecuada para contestar al mismo chat.
Se coloca justo después de un Telegram Webhook, para que los pasos siguientes trabajen con campos sencillos en lugar de con el mensaje completo de Telegram.
Cuándo usarlo
- Guardar en una hoja o en una base de datos quién escribe al bot, desde qué chat y qué pide.
- Separar el texto del mensaje de sus adjuntos para tratarlos por caminos distintos.
- Preparar el identificador del chat y el texto para enviar una respuesta con Telegram Message.
Configuración
El componente necesita una credencial Telegram bot API con el token de tu bot. Ver Credenciales.
| Campo | Qué hace |
|---|---|
| Credential (obligatorio) | La credencial del bot de Telegram. |
| Raw Update (obligatorio) | El mensaje recibido. Conecta la salida Data de un Telegram Webhook. |
| Operation | Qué hace con el mensaje. Normalize Data (por defecto): extrae los datos del mensaje. Prepare Output Payload: los deja listos para contestar. |
El componente trabaja con mensajes escritos en chats y en canales, también cuando se editan. Si lo que llega no contiene un mensaje, da un error.
Resultado
La salida Transformed Data entrega los datos del mensaje.
Con Normalize Data:
| Campo | Qué contiene |
|---|---|
chat_id | El identificador del chat en el que se escribió. |
message_id | El número del mensaje dentro del chat. |
from_id y from_username | El identificador y el nombre de usuario de quien lo escribió. |
timestamp | La fecha y hora del mensaje. |
text y original_text | El texto del mensaje, o el pie de foto si es un archivo, en una sola línea. |
document, photo, audio, video, animation, sticker, contact | Los adjuntos del mensaje, si los hay. |
is_edited | Si el mensaje es una edición de otro anterior, en un chat o en un canal. |
is_channel_post | Si el mensaje se publicó en un canal. |
is_pinned | Si el mensaje es el aviso de Telegram de que se fijó un mensaje en el chat. |
Con Prepare Output Payload, solo los datos necesarios para contestar: chat_id, message_id y text y, si el mensaje traía un contacto, su teléfono y su nombre. Los campos vacíos no se incluyen.
Para leer un campo concreto, conecta la salida a Get Value By Key.
Ejemplo
Floristería Camelia recibe pedidos por su bot de Telegram y quiere registrarlos:
- Añade un Telegram Webhook con la credencial del bot.
- Conecta su salida Data a Raw Update de Telegram Data Transformation, con la misma credencial y Operation en Normalize Data.
- Conecta Transformed Data a un componente que guarde los datos, por ejemplo una hoja de cálculo o una base de datos.
Por cada mensaje, el flujo guarda el usuario que escribe, la fecha y el texto del pedido, como “Un ramo de rosas para el viernes”.
Buenas prácticas
- Usa la misma credencial del bot en Telegram Webhook y en este componente.
- Prueba el flujo en el editor con un mensaje de ejemplo en el Telegram Webhook antes de publicarlo.
Componentes relacionados
- Telegram Webhook: recibe los mensajes del bot.
- Telegram Message: envía la respuesta al chat.
- Get Value By Key: lee un campo concreto de los datos.