Mensajes enriquecidos y aprobaciones de Telegram en OpenClaw
HTML por defecto, la activación de los bloques de Bot API 10.3, los cinco ámbitos de los botones en línea, el bloque de botones y los botones de Mini App, las acciones de mensaje con sus controles, las listas de emojis y las aprobaciones de ejecución desde Telegram
El texto es solo el principio de lo que puede enviar un bot de Telegram: bloques con formato, un teclado bajo un mensaje, un lanzador de Mini App, una reacción al mensaje de otra persona, una solicitud de aprobación con dos botones. OpenClaw expone cada una de estas cosas mediante un pequeño conjunto de claves de configuración y acciones de mensaje, la mayoría desactivadas hasta que las activas. Estos son el contrato de formato, los ámbitos de los botones, las acciones con sus controles y cómo llega una aprobación de ejecución a un aprobador dentro de Telegram.
Formato
- El texto saliente usa por defecto el HTML estándar de Telegram, legible en los clientes actuales, con negrita, cursiva, enlaces, código, spoilers y citas, y el código delimitado conserva su contenido y su espaciado literales, incluidos los ejemplos de delimitadores dentro del bloque; los bloques exclusivos de los mensajes enriquecidos de Bot API 10.3 (tablas nativas, detalles, contenido multimedia enriquecido y fórmulas) no se usan salvo que los actives.
- Con el indicador de mensajes enriquecidos activado, se informa al agente de que los mensajes enriquecidos están disponibles para este bot o esta cuenta, con el contrato de redacción compatible de Markdown e islas de HTML; el Markdown se renderiza a través de la representación intermedia de Markdown de OpenClaw como bloques enriquecidos tipados (encabezados, tablas, detalles, listas de verificación, contenido multimedia enriquecido, fórmulas, mapas y collages), mientras que las leyendas de los archivos multimedia siguen usando leyendas HTML limitadas a 1024 caracteres; el texto enriquecido ordinario conserva los espacios y saltos de línea analizados, las entidades se decodifican una sola vez, las etiquetas escapadas siguen siendo texto visible, el HTML no compatible sigue visible sin suprimir el Markdown que contiene, el texto enriquecido largo se divide automáticamente según los límites de Telegram, y las tablas que superan el límite de 20 columnas se convierten en un bloque de código.
- El indicador está desactivado por defecto por compatibilidad con los clientes, porque algunos clientes actuales de Desktop, Web, Android y de terceros muestran como no compatibles mensajes enriquecidos que sí se aceptaron; mantenlo desactivado salvo que todos los clientes que se usan con el bot puedan renderizarlos, y el comando de estado muestra si la sesión actual tiene los mensajes enriquecidos activados o desactivados.
- Las vistas previas de enlaces están activadas por defecto, y la clave de vista previa de enlaces en false desactiva la detección automática de entidades en el texto enriquecido; mantener el texto del modelo alejado de los símbolos del Markdown enriquecido de Telegram es también la razón por la que un rango de importes como 400 a 600 K dólares no se interpreta como una fórmula.
Los botones de Mini App solo funcionan en chats privados entre un usuario y el bot.
Botones en línea
La capacidad de botones en línea tiene cinco ámbitos, off, dm, group, all y allowlist, con allowlist por defecto, que se define en el canal y se puede sobrescribir por cuenta; la forma heredada de array equivale a all, una cuenta con un array de capacidades vacío hereda las capacidades del canal, y un off explícito desactiva los botones. La herramienta para preguntar al usuario usa estos controles nativos para una pregunta de selección única, con una fila por opción y una opción Otro que abre el campo de respuesta de Telegram. Una acción de mensaje lleva una presentación con un bloque de botones, y cada botón tiene una etiqueta, una acción y un estilo opcional como success o danger; una acción de callback devuelve su valor, y una acción de web app abre una URL de Mini App, lo que solo funciona en chats privados entre un usuario y el bot. Los valores de callback que no reclama ningún controlador interactivo de plugin registrado se pasan al agente como texto con el prefijo callback data. Con la ingesta persistente, la confirmación del callback se envía justo después de almacenar la actualización, sin esperar a los controladores anteriores de la cola de ese chat, así que Telegram quita pronto su indicador de carga mientras la acción del botón sigue pasando por la autorización normal y el procesamiento ordenado.
Acciones y aprobaciones
- Las acciones son send-message, con un destino, un contenido y, opcionalmente, una URL de archivo multimedia, un ID de respuesta y un ID de hilo; react, con un chat, un mensaje y un emoji; emoji-list, con un chat y un límite opcionales; delete-message; edit-message, con contenido o leyenda y botones en línea opcionales, donde una edición solo de botones actualiza el reply markup; y create-forum-topic, con un nombre y un color de icono o un emoji personalizado opcionales, además de los alias send, react, delete, edit, sticker, sticker-search y topic-create; los controles send-message, delete-message, reactions y sticker están desactivados por defecto, reactions cubre tanto react como emoji-list, la edición y las acciones de temas de foro están activadas sin un interruptor propio, y los envíos en tiempo de ejecución usan la instantánea de configuración y secretos del arranque o de la recarga en lugar de volver a resolver las referencias a secretos en cada envío.
- La acción emoji-list consulta las reacciones permitidas en el chat y la cuenta de confianza actuales; los agentes no pueden consultar otro chat, mientras que los operadores directos pueden pasar un ID de chat distinto; el límite es 100 por defecto y no puede superarlo; un chat sin restricciones devuelve las reacciones estándar con una nota que indica que todas están permitidas; una reacción rechazada devuelve una breve muestra de las reacciones estándar y los identificadores de emojis personalizados permitidos, salvo que la propia consulta haya fallado; y pasas un emoji Unicode o un identificador numérico de emoji personalizado directamente a react.
- Las aprobaciones de ejecución funcionan en los mensajes directos de los aprobadores y, opcionalmente, pueden publicar las solicitudes en el chat o el tema de origen; los aprobadores deben ser IDs de usuario numéricos; la clave enabled en auto las activa cuando se puede resolver al menos un aprobador; la lista de aprobadores recurre a los IDs numéricos de los propietarios de la lista de propietarios permitidos; el destino es dm por defecto, con channel y both como alternativas; los filtros de agente y de sesión las acotan; las listas de permitidos que deciden quién puede hablar con el bot no convierten a nadie en aprobador, aunque el primer emparejamiento aprobado inicializa la lista de propietarios; la entrega en el canal muestra el texto del comando, así que channel o both solo deben usarse en grupos de confianza; una solicitud que llega a un tema de foro conserva ese tema para el seguimiento; las aprobaciones caducan a los 30 minutos por defecto; los botones de aprobación en línea requieren que la capacidad de botones permita la superficie de destino; y los IDs de aprobación con el prefijo plugin se resuelven mediante las aprobaciones de plugins, mientras que el resto prueba primero las aprobaciones de ejecución.
OpenClaw en Telegram es el artículo del canal que estas superficies amplían, y el comportamiento de los mensajes de Telegram en OpenClaw, el modelo de entrega que hay debajo.
Botones en todos los canales
El bloque de botones, el valor de callback y la solicitud de aprobación mantienen la misma forma en todos los canales que tienen componentes nativos, y por eso un agente puede hacer una pregunta de sí o no sin saber dónde se responderá. Componentes y aprobaciones de Discord en OpenClaw muestra el lado de Discord de ese contrato, y las reacciones en OpenClaw, la semántica de reacciones que implementan react y emoji-list.
En Diali
Telegram es uno de los canales que Diali conecta desde el panel, y la configuración del motor generada se sustituye en cada versión, así que las claves de formato y de botones de este artículo describen lo que puede hacer un bot alojado, no ajustes que editas a mano. Telegram en Diali es el canal en Diali, y la seguridad en Diali, el perímetro que se aplica a cada acción que puede realizar un bot.
- HTML por defecto; bloques enriquecidos solo cuando todos los clientes pueden renderizarlos.
- Los botones siguen un ámbito; las Mini Apps solo se abren en chats privados.
- Los envíos, las eliminaciones, las reacciones y los stickers siguen desactivados hasta que se habilitan.
Deja de leer sobre ello y crea el tuyo
Configura un agente, elige un canal y ponlo a trabajar dentro de la aplicación que ya tienes abierta.
