Kanaalopdrachten lezen eerst de huidige toestand en convergeren naar wat u vraagt: een opdracht die al heeft gewerkt, herhaalt u met succes en changed: false in plaats van dat deze mislukt of iets dupliceert.
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
Kanalen aanmaken en wijzigen
# 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
Verwijzingen gebruiken de slug of de ID van de backend, nooit matching op weergavenaam. Houd er rekening mee dat het hernoemen van een kanaal de slug wijzigt — verwijs in scripts naar het kanaal via de ID, of los de verwijzing na een hernoeming opnieuw op.
Lidmaatschap
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
Directe berichten
hansa chat channels dm --member 42
Geeft het bestaande directe kanaal met die gebruiker terug of maakt het aan; de backend beschouwt deze bewerking als idempotent.
Gelezen-status
Het lezen van kanalen en berichten verandert nooit wat als gelezen telt. De enige opdracht die dat doet, is:
hansa chat channels mark-read --channel general
Workspaceleden
hansa chat members list --query igor # search members by text
hansa chat members get --member 42 # one member by user ID