HansaChat

Documentation

Канали и членове

Създавайте, включвайте се и архивирайте канали и управлявайте членствата с идемпотентни команди.

Командите за канали първо прочитат текущото състояние и се довеждат до това, което поискате: повторението на команда, която вече е имала ефект, завършва успешно с changed: false, вместо да се провали или да дублира.

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

Създаване и промяна на канали

# 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

Препратките използват slug или ID от бекенда, никога съвпадение по показвано име. Имайте предвид, че преименуването на канал променя неговия slug — в скриптове правете препратка към канала по ID или го разрешете отново след преименуване.

Членство

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

Директни съобщения

hansa chat channels dm --member 42

Връща съществуващия директен канал с този потребител или го създава; бекендът третира тази операция като идемпотентна.

Състояние на прочитане

Четенето на канали и съобщения никога не променя това, което се брои за прочетено. Единствената команда, която го прави, е:

hansa chat channels mark-read --channel general

Членове на работното пространство

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