Nextcloud Talk (Plugin)
Status: Unterstützt via Plugin (Webhook-Bot). Direktnachrichten, Räume, Reaktionen und Markdown-Nachrichten werden unterstützt.
Plugin erforderlich
Nextcloud Talk wird als Plugin ausgeliefert und ist nicht in der Kerninstallation enthalten.
Installation über CLI (npm-Registry):
openclaw plugins install @openclaw/nextcloud-talk
Lokaler Checkout (wenn aus einem Git-Repo ausgeführt):
openclaw plugins install ./extensions/nextcloud-talk
Wenn du Nextcloud Talk während der Konfiguration/des Onboardings auswählst und ein Git-Checkout erkannt wird, bietet OpenClaw automatisch den lokalen Installationspfad an.
Details: Plugins
Schnelleinrichtung (Einsteiger)
-
Installiere das Nextcloud Talk Plugin.
-
Erstelle auf deinem Nextcloud-Server einen Bot:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
Aktiviere den Bot in den Zielraum-Einstellungen.
-
Konfiguriere OpenClaw:
- Konfiguration:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Oder Umgebungsvariable:
NEXTCLOUD_TALK_BOT_SECRET(nur Standardkonto)
- Konfiguration:
-
Starte das Gateway neu (oder schließe das Onboarding ab).
Minimale Konfiguration:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
Hinweise
- Bots können keine DMs initiieren. Der Benutzer muss dem Bot zuerst schreiben.
- Die Webhook-URL muss vom Gateway erreichbar sein; setze
webhookPublicUrl, wenn du hinter einem Proxy bist. - Medien-Uploads werden von der Bot-API nicht unterstützt; Medien werden als URLs gesendet.
- Die Webhook-Payload unterscheidet nicht zwischen DMs und Räumen; setze
apiUser+apiPassword, um Raumtyp-Abfragen zu ermöglichen (andernfalls werden DMs wie Räume behandelt).
Zugriffssteuerung (DMs)
- Standard:
channels.nextcloud-talk.dmPolicy = "pairing". Unbekannte Absender erhalten einen Pairing-Code. - Genehmigung über:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- Öffentliche DMs:
channels.nextcloud-talk.dmPolicy="open"pluschannels.nextcloud-talk.allowFrom=["*"]. allowFrommatcht nur Nextcloud-Benutzer-IDs; Anzeigenamen werden ignoriert.
Räume (Gruppen)
- Standard:
channels.nextcloud-talk.groupPolicy = "allowlist"(Mention-gated). - Räume auf die Allowlist setzen mit
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- Um keine Räume zu erlauben, lasse die Allowlist leer oder setze
channels.nextcloud-talk.groupPolicy="disabled".
Fähigkeiten
| Feature | Status |
|---|---|
| Direktnachrichten | Unterstützt |
| Räume | Unterstützt |
| Threads | Nicht unterstützt |
| Medien | Nur URL |
| Reaktionen | Unterstützt |
| Native Befehle | Nicht unterstützt |
Konfigurationsreferenz (Nextcloud Talk)
Vollständige Konfiguration: Configuration
Provider-Optionen:
channels.nextcloud-talk.enabled: Kanal-Start aktivieren/deaktivieren.channels.nextcloud-talk.baseUrl: Nextcloud-Instanz-URL.channels.nextcloud-talk.botSecret: gemeinsames Bot-Secret.channels.nextcloud-talk.botSecretFile: regulärer Dateipfad für das Secret. Symlinks werden abgelehnt.channels.nextcloud-talk.apiUser: API-Benutzer für Raumabfragen (DM-Erkennung).channels.nextcloud-talk.apiPassword: API-/App-Passwort für Raumabfragen.channels.nextcloud-talk.apiPasswordFile: Dateipfad für das API-Passwort.channels.nextcloud-talk.webhookPort: Webhook-Listener-Port (Standard: 8788).channels.nextcloud-talk.webhookHost: Webhook-Host (Standard: 0.0.0.0).channels.nextcloud-talk.webhookPath: Webhook-Pfad (Standard: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: extern erreichbare Webhook-URL.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: DM-Allowlist (Benutzer-IDs).openerfordert"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: Gruppen-Allowlist (Benutzer-IDs).channels.nextcloud-talk.rooms: Pro-Raum-Einstellungen und Allowlist.channels.nextcloud-talk.historyLimit: Gruppenverlaufslimit (0 deaktiviert).channels.nextcloud-talk.dmHistoryLimit: DM-Verlaufslimit (0 deaktiviert).channels.nextcloud-talk.dms: Pro-DM-Überschreibungen (historyLimit).channels.nextcloud-talk.textChunkLimit: Größe ausgehender Textblöcke (Zeichen).channels.nextcloud-talk.chunkMode:length(Standard) odernewline, um an Leerzeilen (Absatzgrenzen) vor dem Längen-Chunking aufzuteilen.channels.nextcloud-talk.blockStreaming: Block-Streaming für diesen Kanal deaktivieren.channels.nextcloud-talk.blockStreamingCoalesce: Feinabstimmung des Block-Streaming-Coalescing.channels.nextcloud-talk.mediaMaxMb: Obergrenze für eingehende Medien (MB).