Príkazy pre kanály si najprv prečítajú aktuálny stav a dospievajú do požadovaného výsledku: opakovanie príkazu, ktorý sa už prejavil, uspeje s changed: false namiesto zlyhania alebo duplikovania.
hansa chat channels list # your channels
hansa chat channels browse # public channels you have not joined
hansa chat channels get --channel general # one channel by slug or ID
Vytváranie a zmeny kanálov
# Return "Marketing" and create it only if it does not exist yet
hansa chat channels ensure --name Marketing --type public
# Rename or change the type; a no-op when nothing changes
hansa chat channels set --channel marketing --name Marketing EU --type private
# Archive a channel (idempotent)
hansa chat channels archive --channel marketing
Odkazy používajú slug alebo ID z backendu, nikdy zhodu podľa zobrazovaného mena. Všimnite si, že premenovanie kanála mení jeho slug — v skriptoch odkazujte na kanál podľa ID alebo ho po premenovaní znovu dohľadajte.
Členstvo
hansa chat channels join --channel general # no-op when already a member
hansa chat channels leave --channel general # no-op when not a member
hansa chat channels members --channel general # list channel members
hansa chat channels invite --channel general --member 42
Priame správy
hansa chat channels dm --member 42
Vráti existujúci priamy kanál s daným používateľom alebo ho vytvorí; backend považuje túto operáciu za idempotentnú.
Prečítaný stav
Čítanie kanálov a správ nikdy nemení, čo sa počíta ako prečítané. Jediný príkaz, ktorý to robí, je:
hansa chat channels mark-read --channel general
Členovia workspaceu
hansa chat members list --query igor # search members by text
hansa chat members get --member 42 # one member by user ID