Nextcloud Talk mit OpenClaw verbinden: Schnelle Anleitung
Kennst du das? Du möchtest deine Workflows automatisieren, aber die Integration in deine selbstgehostete Infrastruktur fühlt sich oft wie Schwerstarbeit an. Besonders bei Messengern wie Nextcloud Talk stolpert man häufig über komplizierte Bot-Setups und lückenhafte Dokumentationen.
Mit OpenClaw wird die Anbindung deines Nextcloud-Servers zum Kinderspiel. In diesem Guide zeige ich dir, wie du das Plugin installierst und deinen Bot startklar machst, damit deine Nachrichten genau dort landen, wo sie gebraucht werden.
Nextcloud Talk (plugin)
Abschnitt betitelt „Nextcloud Talk (plugin)“Status: Unterstützt via Plugin (Webhook Bot). Direct messages, Räume, Reaktionen und Markdown-Nachrichten werden unterstützt.
Plugin erforderlich
Abschnitt betitelt „Plugin erforderlich“Nextcloud Talk wird als Plugin ausgeliefert und ist nicht in der Core-Installation enthalten.
Installation via CLI (npm registry):
openclaw plugins install @openclaw/nextcloud-talkLokaler Checkout (wenn du aus einem Git-Repo arbeitest):
openclaw plugins install ./path/to/local/nextcloud-talk-pluginFalls du Nextcloud Talk während des Setups auswählst und ein Git-Checkout erkannt wird, bietet OpenClaw den lokalen Installationspfad automatisch an.
Details: Plugins
Schnelle Einrichtung (Anfänger)
Abschnitt betitelt „Schnelle Einrichtung (Anfänger)“-
Installiere das Nextcloud Talk Plugin.
-
Erstelle auf deinem Nextcloud-Server einen Bot:
Terminal-Fenster ./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
Aktiviere den Bot in den Einstellungen des Zielraums.
-
Konfiguriere OpenClaw:
- Config:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Oder Env:
NEXTCLOUD_TALK_BOT_SECRET(nur für den Default-Account)
- Config:
-
Starte das Gateway neu (oder schließe das Setup ab).
Minimale Konfiguration:
{ channels: { "nextcloud-talk": { enabled: true, baseUrl: "https://cloud.example.com", botSecret: "shared-secret", dmPolicy: "pairing", }, },}Hinweise
Abschnitt betitelt „Hinweise“- Bots können keine DMs initiieren. Der User muss dem Bot zuerst eine Nachricht schreiben.
- Die Webhook URL muss für das Gateway erreichbar sein; setze
webhookPublicUrl, falls du dich hinter einem Proxy befindest. - Media 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-Lookups zu aktivieren (andernfalls werden DMs wie Räume behandelt).
Zugriffskontrolle (DMs)
Abschnitt betitelt „Zugriffskontrolle (DMs)“- Standard:
channels.nextcloud-talk.dmPolicy = "pairing". Unbekannte Absender erhalten einen Pairing-Code. - Bestätigung via:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- Öffentliche DMs:
channels.nextcloud-talk.dmPolicy="open"pluschannels.nextcloud-talk.allowFrom=["*"]. allowFromgleicht nur Nextcloud User-IDs ab; Display-Namen werden ignoriert.
Räume (Gruppen)
Abschnitt betitelt „Räume (Gruppen)“- Standard:
channels.nextcloud-talk.groupPolicy = "allowlist"(Zugriff nur bei Erwähnung). - Räume mit
channels.nextcloud-talk.roomsauf die Allowlist setzen:
{ channels: { "nextcloud-talk": { rooms: { "room-token": { requireMention: true }, }, }, },}- Um keine Räume zuzulassen, lass die Allowlist leer oder setze
channels.nextcloud-talk.groupPolicy="disabled".
Funktionen
Abschnitt betitelt „Funktionen“| Feature | Status |
|---|---|
| Direct messages | Unterstützt |
| Räume | Unterstützt |
| Threads | Nicht unterstützt |
| Medien | Nur via URL |
| Reaktionen | Unterstützt |
| Native Befehle | Nicht unterstützt |
Konfigurationsreferenz (Nextcloud Talk)
Abschnitt betitelt „Konfigurationsreferenz (Nextcloud Talk)“Vollständige Konfiguration: Configuration
Provider-Optionen:
channels.nextcloud-talk.enabled: Aktiviert/Deaktiviert den Channel beim Start.channels.nextcloud-talk.baseUrl: URL deiner Nextcloud-Instanz.channels.nextcloud-talk.botSecret: Shared Secret des Bots.channels.nextcloud-talk.botSecretFile: Pfad zu einer Datei mit dem Secret. Symlinks werden abgelehnt.channels.nextcloud-talk.apiUser: API-User für Raum-Lookups (DM-Erkennung).channels.nextcloud-talk.apiPassword: API/App-Passwort für Raum-Lookups.channels.nextcloud-talk.apiPasswordFile: Pfad zur API-Passwortdatei.channels.nextcloud-talk.webhookPort: Port des Webhook-Listeners (Standard: 8788).channels.nextcloud-talk.webhookHost: Host des Webhooks (Standard: 0.0.0.0).channels.nextcloud-talk.webhookPath: Pfad des Webhooks (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 (User-IDs).openerfordert"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: Gruppen-Allowlist (User-IDs).channels.nextcloud-talk.rooms: Pro-Raum-Einstellungen und Allowlist.channels.nextcloud-talk.historyLimit: Limit für den Gruppenverlauf (0 deaktiviert es).channels.nextcloud-talk.dmHistoryLimit: Limit für den DM-Verlauf (0 deaktiviert es).channels.nextcloud-talk.dms: Pro-DM Overrides (historyLimit).channels.nextcloud-talk.textChunkLimit: Größe ausgehender Text-Chunks (Zeichen).channels.nextcloud-talk.chunkMode:length(Standard) odernewline, um an Leerzeilen (Absatzgrenzen) zu trennen, bevor nach Länge gechunkt wird.channels.nextcloud-talk.blockStreaming: Deaktiviert Block-Streaming für diesen Channel.channels.nextcloud-talk.blockStreamingCoalesce: Tuning für das Zusammenführen von Block-Streaming.channels.nextcloud-talk.mediaMaxMb: Limit für eingehende Medien (MB).
Verwandte Themen
Abschnitt betitelt „Verwandte Themen“- Channels Overview — Alle unterstützten Channels
- Pairing — DM-Authentifizierung und Pairing-Flow
- Groups — Verhalten in Gruppen-Chats und Mention-Gating
- Channel Routing — Session-Routing für Nachrichten
- Security — Zugriffsmodell und Hardening
OpenClaw Expert
Noch festgefahren?
Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.