Lectura
hansa chat messages list --channel general --limit 50
hansa chat messages get --message <message-id>
hansa chat messages search --query "standup notes" --channel general
--limit acepta de 1 a 100. En lugar de páginas, navega por los números de secuencia
del canal, que se mantienen estables:
hansa chat messages list --channel general --before-sequence 120
hansa chat messages list --channel general --after-sequence 100
hansa chat messages list --channel general --around-message <message-id>
La respuesta incluye meta con el siguiente cursor (next_before_sequence
o next_after_sequence) para que los scripts puedan recorrer el historial de forma fiable.
Envío
hansa chat messages send --channel general --text "Deploy finished."
El texto plano se convierte automáticamente en el formato de documento enriquecido del espacio de trabajo. Para un control directo puede pasar el JSON del documento directamente:
hansa chat messages send --channel general --content-json '{"type":"doc","content":[…]}'
hansa chat messages send --channel general --content-file message.json
Opciones adicionales: --parent <message-id> para una respuesta, --mention <user-id>
(repetible) para mencionar a personas, y --file <file-id> (repetible) para adjuntar
archivos subidos (vea invitaciones y subida de archivos).
El envío deliberadamente no es idempotente. Cada invocación crea un mensaje nuevo: ejecutar el comando dos veces envía dos mensajes. Esto es lo que suelen querer los scripts que publican notificaciones; todo lo demás en la CLI converge en el estado deseado.
Edición y eliminación
hansa chat messages edit --message <id> --text "Deploy finished successfully."
hansa chat messages delete --message <id>
Editar el mismo contenido dos veces no hace nada la segunda vez, y eliminar un
mensaje ya eliminado termina sin cambios. Ambos esperan hasta que el cambio sea
visible a través de la API; añada --no-wait para volver inmediatamente con el
comando aceptado.
Reacciones
hansa chat reactions set --message <id> --emoji "👍" --present=true
hansa chat reactions set --message <id> --emoji "👍" --present=false
La CLI solo llama al backend cuando la presencia solicitada difiere del estado actual, así que los comandos repetidos son seguros.