¿Qué hace google-chat-messages?
Envía mensajes de Google Chat mediante webhooks entrantes — texto, tarjetas enriquecidas (cardsV2), respuestas en hilos. Tipos TypeScript, utilidad para construir tarjetas, referencia de widgets incluida. Úsalo cuando el usuario quiera publicar en Google Chat desde un script, crear una respuesta de chatbot, enviar una tarjeta de notificación, integrar un webhook de Google Chat o solucionar problemas con tarjetas/hilos.
Introducción
Esta habilidad te permite enviar mensajes a espacios de Google Chat a través de webhooks entrantes. Soporta múltiples formatos de mensaje:
- Texto simple: Ideal para notificaciones rápidas.
- Tarjetas enriquecidas (cardsV2): Para mensajes con formato, botones, imágenes y más.
- Respuestas en hilos: Para publicar respuestas en hilos de conversación existentes.
Configuración
- Obtén la URL del webhook: En Google Chat, ve a la configuración del espacio, luego a "Webhooks entrantes" y crea un nuevo webhook. Copia la URL.
- Establece la variable de entorno: Define la URL del webhook como una variable de entorno o pásala directamente en la llamada.
export GOOGLE_CHAT_WEBHOOK_URL="https://chat.googleapis.com/v1/spaces/.../messages?key=..."
Uso Básico
Enviar un mensaje de texto
import { sendTextMessage } from 'jezweb/google-chat-messages';
await sendTextMessage('¡Hola desde un script!');
Enviar una tarjeta enriquecida
import { sendCardMessage, CardBuilder } from 'jezweb/google-chat-messages';
const card = new CardBuilder()
.setHeader('Notificación', 'Importante', 'IMAGE')
.addTextParagraph('Este es un mensaje importante.')
.addButton('Abrir enlace', 'https://ejemplo.com')
.build();
await sendCardMessage(card);
Enviar una respuesta en un hilo
import { sendThreadedReply } from 'jezweb/google-chat-messages';
await sendThreadedReply('threadKey123', 'Esta es una respuesta en el hilo.');
Referencia de Widgets
Aquí tienes una lista de widgets soportados para construir tarjetas:
| Widget | Descripción |
|---|---|
TextParagraph | Muestra un párrafo de texto. |
ButtonList | Lista de botones con acciones. |
Image | Muestra una imagen desde una URL. |
DecoratedText | Texto con formato e icono opcional. |
Para más detalles, consulta la documentación oficial de Google Chat.
Solución de Problemas
- Mensaje no enviado: Verifica que la URL del webhook sea correcta y que el webhook esté activo.
- Error de formato: Asegúrate de que las tarjetas sigan la estructura
cardsV2correcta. La utilidadCardBuilderayuda a evitar errores. - Problemas de hilos: Usa la función
sendThreadedReplycon elthreadKeycorrecto para asociar la respuesta al hilo adecuado.
Plataformas Soportadas
- Cualquier entorno que ejecute TypeScript/JavaScript (Node.js, Deno, Bun).
- Plataformas de automatización como GitHub Actions, scripts en la nube, etc.
- Agentes de IA que admitan ejecución de código (por ejemplo, Claude Code, Cursor).