Kanalkommandoer læser først den aktuelle tilstand og konvergerer mod det, De beder om: gentager De en kommando, der allerede har virket, lykkes den med changed: false i stedet for at fejle eller duplikere.
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
Oprette og ændre kanaler
# 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
Referencer bruger backendens slug eller ID, aldrig match på visningsnavn. Bemærk, at en omdøbning af en kanal ændrer dens slug — referér til kanalen via ID i scripts, eller opløs referencen igen efter en omdøbning.
Medlemskab
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
Direkte beskeder
hansa chat channels dm --member 42
Returnerer den eksisterende direkte kanal med den pågældende bruger eller opretter den; backenden behandler denne operation som idempotent.
Læsetilstand
Læsning af kanaler og beskeder ændrer aldrig, hvad der tæller som læst. Den eneste kommando, der gør det, er:
hansa chat channels mark-read --channel general
Workspace-medlemmer
hansa chat members list --query igor # search members by text
hansa chat members get --member 42 # one member by user ID