Nextcloud Talk (plugin)
Status: obslugiwany przez plugin (bot webhookowy). Wiadomosci bezposrednie, pokoje, reakcje i wiadomosci markdown sa obslugiwane.
Wymagany plugin
Nextcloud Talk jest dostarczany jako plugin i nie jest dolaczony do instalacji podstawowej.
Instalacja przez CLI (rejestr npm):
openclaw plugins install @openclaw/nextcloud-talk
Lokalny checkout (przy uruchomieniu z repozytorium git):
openclaw plugins install ./extensions/nextcloud-talk
Jesli wybierzesz Nextcloud Talk podczas konfiguracji/onboardingu i zostanie wykryty checkout git, OpenClaw automatycznie zaproponuje sciezke instalacji lokalnej.
Szczegoly: Pluginy
Szybka konfiguracja (dla poczatkujacych)
-
Zainstaluj plugin Nextcloud Talk.
-
Na serwerze Nextcloud utworz bota:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
Wlacz bota w ustawieniach pokoju docelowego.
-
Skonfiguruj OpenClaw:
- Konfiguracja:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Lub zmienne:
NEXTCLOUD_TALK_BOT_SECRET(tylko domyslne konto)
- Konfiguracja:
-
Zrestartuj gateway (lub zakoncz onboarding).
Minimalna konfiguracja:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
Uwagi
- Boty nie moga inicjowac DM. Uzytkownik musi pierwszy napisac do bota.
- URL webhooka musi byc osiagalny przez Gateway; ustaw
webhookPublicUrljesli jestes za proxy. - Przesylanie mediow nie jest obslugiwane przez API bota; media sa wysylane jako adresy URL.
- Payload webhooka nie rozroznia DM od pokoi; ustaw
apiUser+apiPasswordaby wlaczyc wyszukiwanie typow pokoi (w przeciwnym razie DM sa traktowane jako pokoje).
Kontrola dostepu (DM)
- Domyslnie:
channels.nextcloud-talk.dmPolicy = "pairing". Nieznani nadawcy otrzymuja kod parowania. - Zatwierdzanie przez:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- Publiczne DM:
channels.nextcloud-talk.dmPolicy="open"pluschannels.nextcloud-talk.allowFrom=["*"]. allowFromdopasowuje tylko ID uzytkownikow Nextcloud; nazwy wyswietlane sa ignorowane.
Pokoje (grupy)
- Domyslnie:
channels.nextcloud-talk.groupPolicy = "allowlist"(bramkowanie wzmiankami). - Dodaj pokoje do listy dozwolonych przez
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- Aby nie zezwalac na zadne pokoje, pozostaw liste dozwolonych pusta lub ustaw
channels.nextcloud-talk.groupPolicy="disabled".
Mozliwosci
| Funkcja | Status |
|---|---|
| Wiadomosci bezposrednie | Obslugiwane |
| Pokoje | Obslugiwane |
| Watki | Nieobslugiwane |
| Media | Tylko URL |
| Reakcje | Obslugiwane |
| Natywne polecenia | Nieobslugiwane |
Referencja konfiguracji (Nextcloud Talk)
Pelna konfiguracja: Konfiguracja
Opcje dostawcy:
channels.nextcloud-talk.enabled: wlaczenie/wylaczenie startu kanalu.channels.nextcloud-talk.baseUrl: URL instancji Nextcloud.channels.nextcloud-talk.botSecret: wspolny sekret bota.channels.nextcloud-talk.botSecretFile: sciezka do pliku z sekretem. Dowiazania symboliczne sa odrzucane.channels.nextcloud-talk.apiUser: uzytkownik API do wyszukiwania pokoi (wykrywanie DM).channels.nextcloud-talk.apiPassword: haslo API/aplikacji do wyszukiwania pokoi.channels.nextcloud-talk.apiPasswordFile: sciezka do pliku z haslem API.channels.nextcloud-talk.webhookPort: port nasluchujacy webhooka (domyslnie: 8788).channels.nextcloud-talk.webhookHost: host webhooka (domyslnie: 0.0.0.0).channels.nextcloud-talk.webhookPath: sciezka webhooka (domyslnie: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: zewnetrznie osiagalny URL webhooka.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: lista dozwolonych DM (ID uzytkownikow).openwymaga"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: lista dozwolonych grup (ID uzytkownikow).channels.nextcloud-talk.rooms: ustawienia per pokoj i lista dozwolonych.channels.nextcloud-talk.historyLimit: limit historii grup (0 wylacza).channels.nextcloud-talk.dmHistoryLimit: limit historii DM (0 wylacza).channels.nextcloud-talk.dms: nadpisania per DM (historyLimit).channels.nextcloud-talk.textChunkLimit: rozmiar kawalka tekstu wychodzacego (znaki).channels.nextcloud-talk.chunkMode:length(domyslnie) lubnewlineaby dzielic na pustych liniach (granice akapitow) przed dzieleniem wedlug dlugosci.channels.nextcloud-talk.blockStreaming: wylaczenie strumieniowania blokowego dla tego kanalu.channels.nextcloud-talk.blockStreamingCoalesce: dostrojenie koalescencji strumieniowania blokowego.channels.nextcloud-talk.mediaMaxMb: limit mediow przychodzacych (MB).