HansaChat

Documentation

Kanały i członkowie

Twórz kanały, dołączaj do nich, archiwizuj je i zarządzaj członkostwem poleceniami idempotentnymi.

Polecenia kanałów najpierw odczytują bieżący stan i doprowadzają do żądanego rezultatu: powtórzenie polecenia, które już zadziałało, kończy się wynikiem changed: false zamiast błędem lub duplikatem.

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

Tworzenie i zmiana kanałów

# 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

Odwołania używają sluga lub identyfikatora z backendu, nigdy dopasowania po nazwie wyświetlanej. Pamiętaj, że zmiana nazwy kanału zmienia jego slug — w skryptach odwołuj się do kanału po identyfikatorze albo rozwiąż go ponownie po zmianie nazwy.

Członkostwo

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

Wiadomości bezpośrednie

hansa chat channels dm --member 42

Polecenie zwraca istniejący kanał bezpośredni z tym użytkownikiem lub go tworzy; backend traktuje tę operację jako idempotentną.

Stan przeczytania

Czytanie kanałów i wiadomości nigdy nie zmienia tego, co uznaje się za przeczytane. Jedyne polecenie, które to zmienia, to:

hansa chat channels mark-read --channel general

Członkowie przestrzeni roboczej

hansa chat members list --query igor   # search members by text
hansa chat members get --member 42     # one member by user ID