Nextcloud Talk (plugin)
Status: ondersteund via plugin (webhook-bot). Directe berichten, ruimtes, reacties en markdown-berichten worden ondersteund.
Plugin vereist
Nextcloud Talk wordt als plugin geleverd en is niet gebundeld met de kerninstallatie.
Installeren via CLI (npm-register):
openclaw plugins install @openclaw/nextcloud-talk
Lokale checkout (vanuit een git-repo):
openclaw plugins install ./extensions/nextcloud-talk
Als je Nextcloud Talk kiest tijdens configureren/onboarding en een git-checkout wordt gedetecteerd, biedt OpenClaw automatisch het lokale installatiepad aan.
Details: Plugins
Snelle installatie (beginner)
-
Installeer de Nextcloud Talk-plugin.
-
Maak op je Nextcloud-server een bot aan:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
Schakel de bot in via de doelruimte-instellingen.
-
Configureer OpenClaw:
- Config:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Of omgevingsvariabele:
NEXTCLOUD_TALK_BOT_SECRET(alleen standaardaccount)
- Config:
-
Herstart de gateway (of voltooi de onboarding).
Minimale configuratie:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
Opmerkingen
- Bots kunnen geen DM’s initiëren. De gebruiker moet de bot eerst een bericht sturen.
- De webhook-URL moet bereikbaar zijn voor de Gateway; stel
webhookPublicUrlin als je achter een proxy zit. - Media-uploads worden niet ondersteund door de bot-API; media wordt als URL’s verzonden.
- De webhook-payload maakt geen onderscheid tussen DM’s en ruimtes; stel
apiUser+apiPasswordin om ruimtetype-opzoekingen mogelijk te maken (anders worden DM’s als ruimtes behandeld).
Toegangscontrole (DM’s)
- Standaard:
channels.nextcloud-talk.dmPolicy = "pairing". Onbekende afzenders krijgen een koppelingscode. - Goedkeuren via:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- Openbare DM’s:
channels.nextcloud-talk.dmPolicy="open"pluschannels.nextcloud-talk.allowFrom=["*"]. allowFrommatcht alleen Nextcloud-gebruikers-ID’s; weergavenamen worden genegeerd.
Ruimtes (groepen)
- Standaard:
channels.nextcloud-talk.groupPolicy = "allowlist"(mention-gated). - Allowlist-ruimtes met
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- Om geen ruimtes toe te staan, houd de allowlist leeg of stel
channels.nextcloud-talk.groupPolicy="disabled"in.
Mogelijkheden
| Functie | Status |
|---|---|
| Directe berichten | Ondersteund |
| Ruimtes | Ondersteund |
| Threads | Niet ondersteund |
| Media | Alleen URL |
| Reacties | Ondersteund |
| Native commando’s | Niet ondersteund |
Configuratiereferentie (Nextcloud Talk)
Volledige configuratie: Configuratie
Provideropties:
channels.nextcloud-talk.enabled: kanaal in-/uitschakelen bij opstart.channels.nextcloud-talk.baseUrl: Nextcloud-instantie-URL.channels.nextcloud-talk.botSecret: gedeeld botgeheim.channels.nextcloud-talk.botSecretFile: pad naar regulier geheimbestand. Symlinks worden geweigerd.channels.nextcloud-talk.apiUser: API-gebruiker voor ruimteopzoekingen (DM-detectie).channels.nextcloud-talk.apiPassword: API-/app-wachtwoord voor ruimteopzoekingen.channels.nextcloud-talk.apiPasswordFile: pad naar API-wachtwoordbestand.channels.nextcloud-talk.webhookPort: webhook-listenerpoort (standaard: 8788).channels.nextcloud-talk.webhookHost: webhook-host (standaard: 0.0.0.0).channels.nextcloud-talk.webhookPath: webhook-pad (standaard: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: extern bereikbare webhook-URL.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: DM-allowlist (gebruikers-ID’s).openvereist"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: groeps-allowlist (gebruikers-ID’s).channels.nextcloud-talk.rooms: per-ruimte-instellingen en allowlist.channels.nextcloud-talk.historyLimit: groepsgeschiedenislimiet (0 schakelt uit).channels.nextcloud-talk.dmHistoryLimit: DM-geschiedenislimiet (0 schakelt uit).channels.nextcloud-talk.dms: per-DM-overschrijvingen (historyLimit).channels.nextcloud-talk.textChunkLimit: uitgaande tekstchunkgrootte (tekens).channels.nextcloud-talk.chunkMode:length(standaard) ofnewlineom te splitsen op lege regels (alineagrenzen) voor lengteopsplitsing.channels.nextcloud-talk.blockStreaming: blokstreaming uitschakelen voor dit kanaal.channels.nextcloud-talk.blockStreamingCoalesce: blokstreaming-samenvoegingsafstemming.channels.nextcloud-talk.mediaMaxMb: inkomende medialimiet (MB).