Lettura
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 accetta 1–100. Invece delle pagine si naviga tramite i numeri di
sequenza del canale, che restano stabili:
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 risposta include meta con il cursore successivo (next_before_sequence
o next_after_sequence), così gli script possono percorrere la cronologia in
modo affidabile.
Invio
hansa chat messages send --channel general --text "Deploy finished."
Il testo semplice diventa automaticamente il formato di documento avanzato del workspace. Per un controllo diretto può passare il JSON del documento:
hansa chat messages send --channel general --content-json '{"type":"doc","content":[…]}'
hansa chat messages send --channel general --content-file message.json
Opzioni aggiuntive: --parent <message-id> per una risposta, --mention <user-id>
(ripetibile) per menzionare persone e --file <file-id> (ripetibile) per allegare
file caricati (vedi Inviti e caricamento di file).
L’invio non è deliberatamente idempotente. Ogni chiamata crea un nuovo messaggio — eseguire il comando due volte invia due messaggi. Questo è ciò che gli script che pubblicano notifiche di solito vogliono; tutto il resto nella CLI converge sullo stato desiderato.
Modifica ed eliminazione
hansa chat messages edit --message <id> --text "Deploy finished successfully."
hansa chat messages delete --message <id>
Modificare due volte lo stesso contenuto è un no-op la seconda volta, ed eliminare
un messaggio già eliminato riesce senza cambiamenti. Entrambi attendono che la
modifica sia visibile tramite l’API; aggiunga --no-wait per tornare subito con
il comando accettato.
Reazioni
hansa chat reactions set --message <id> --emoji "👍" --present=true
hansa chat reactions set --message <id> --emoji "👍" --present=false
La CLI chiama il backend solo quando la presenza richiesta differisce dallo stato corrente, quindi i comandi ripetuti sono sicuri.