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)

  1. Installeer de Nextcloud Talk-plugin.

  2. Maak op je Nextcloud-server een bot aan:

    ./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction
  3. Schakel de bot in via de doelruimte-instellingen.

  4. Configureer OpenClaw:

    • Config: channels.nextcloud-talk.baseUrl + channels.nextcloud-talk.botSecret
    • Of omgevingsvariabele: NEXTCLOUD_TALK_BOT_SECRET (alleen standaardaccount)
  5. 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 webhookPublicUrl in 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 + apiPassword in 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-talk
    • openclaw pairing approve nextcloud-talk <CODE>
  • Openbare DM’s: channels.nextcloud-talk.dmPolicy="open" plus channels.nextcloud-talk.allowFrom=["*"].
  • allowFrom matcht 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

FunctieStatus
Directe berichtenOndersteund
RuimtesOndersteund
ThreadsNiet ondersteund
MediaAlleen URL
ReactiesOndersteund
Native commando’sNiet 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). open vereist "*".
  • 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) of newline om 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).