Naredbe za kanale prvo čitaju trenutačno stanje i konvergiraju prema onome što zatražite: ponavljanje naredbe koja je već stupila na snagu uspijeva s changed: false umjesto da ne uspije ili duplicira.
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
Stvaranje i mijenjanje kanala
# 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
Reference koriste slug ili ID pozadinskog sustava, nikada podudaranje po imenu za prikaz. Imajte na umu da preimenovanje kanala mijenja njegov slug — u skriptama na kanal referencirajte putem ID-a ili ga ponovno razriješite nakon preimenovanja.
Članstvo
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
Izravne poruke
hansa chat channels dm --member 42
Vraća postojeći izravni kanal s tim korisnikom ili ga stvara; pozadinski sustav ovu operaciju tretira kao idempotentnu.
Stanje čitanja
Čitanje kanala i poruka nikada ne mijenja što se računa kao pročitano. Jedina naredba koja to mijenja je:
hansa chat channels mark-read --channel general
Članovi radnog prostora
hansa chat members list --query igor # search members by text
hansa chat members get --member 42 # one member by user ID