Kanäle und Mitglieder
Kanal-Befehle lesen zuerst den aktuellen Zustand und führen zu dem, was Sie
anfordern: Ein Befehl, dessen Wirkung bereits besteht, wird erfolgreich mit
changed: false abgeschlossen, statt zu fehlschlagen oder zu duplizieren.
hansa chat channels list # Ihre Kanäle
hansa chat channels browse # öffentliche Kanäle ohne Mitgliedschaft
hansa chat channels get --channel general # ein Kanal per Slug oder ID
Kanäle anlegen und ändern
# "Marketing" zurückgeben und nur anlegen, wenn es noch nicht existiert
hansa chat channels ensure --name Marketing --type public
# Umbenennen oder Typ ändern; No-Op, wenn sich nichts ändert
hansa chat channels set --channel marketing --name Marketing EU --type private
# Kanal archivieren (idempotent)
hansa chat channels archive --channel marketing
Verweise nutzen den Slug oder die ID des Backends, nie den Abgleich über Anzeigenamen. Beachten Sie: Das Umbenennen eines Kanals ändert seinen Slug — verweisen Sie in Skripten auf die ID oder lösen Sie den Kanal nach einer Umbenennung neu auf.
Mitgliedschaft
hansa chat channels join --channel general # No-Op wenn bereits Mitglied
hansa chat channels leave --channel general # No-Op wenn nicht Mitglied
hansa chat channels members --channel general # Kanalmitglieder auflisten
hansa chat channels invite --channel general --member 42
Direktnachrichten
hansa chat channels dm --member 42
Liefert den bestehenden Direktkanal mit diesem Benutzer oder legt ihn an; das Backend behandelt diese Operation als idempotent.
Lesestatus
Das Lesen von Kanälen und Nachrichten ändert nie, was als gelesen gilt. Der einzige Befehl, der das tut:
hansa chat channels mark-read --channel general
Workspace-Mitglieder
hansa chat members list --query igor # Mitglieder nach Text suchen
hansa chat members get --member 42 # ein Mitglied per Benutzer-ID