Ukazi za kanale najprej preberejo trenutno stanje in konvergirajo k temu,
kar zahtevate: ponovitev ukaza, ki je že začel veljati, uspe z
changed: false, namesto da spodleti ali podvoji.
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
Ustvarjanje in spreminjanje kanalov
# 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
Sklici uporabljajo izpeljano ime (slug) ali ID zaledja, nikoli ujemanje po prikazanem imenu. Upoštevajte, da preimenovanje kanala spremeni njegovo izpeljano ime — v skriptah se na kanal sklicujte po ID-ju ali pa ga po preimenovanju znova razrešite.
Č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
Neposredna sporočila
hansa chat channels dm --member 42
Vrne obstoječi neposredni kanal s tem uporabnikom ali ga ustvari; zaledje to operacijo obravnava kot idempotentno.
Branje stanja
Branje kanalov in sporočil nikoli ne spremeni tega, kar šteje kot prebrano. Edini ukaz, ki to stori, je:
hansa chat channels mark-read --channel general
Člani delovnega prostora
hansa chat members list --query igor # search members by text
hansa chat members get --member 42 # one member by user ID