Canal Nextcloud Talk OpenClaw
Connectez OpenClaw a Nextcloud Talk, la plateforme de communication d'entreprise axee sur la confidentialite, integree a l'ecosysteme Nextcloud. L'integration utilise une architecture de bot basee sur les webhooks : Nextcloud Talk envoie les evenements de messages a votre Gateway via des webhooks, et le bot repond via l'API REST de Talk. Cela permet a votre assistant IA de participer aux messages directs, aux conversations de salon, et de reagir aux messages avec des emojis, le tout au sein de votre environnement Nextcloud auto-heberge.
Nextcloud Talk Fonctionnalités prises en charge
Messages texte
Pris en charge
Médias et fichiers
Pris en charge
Réactions
Pris en charge
Fils de discussion
Non pris en charge
Messages vocaux
Non pris en charge
Discussion de groupe
Pris en charge
Nextcloud Talk Prérequis
- Un serveur Nextcloud (v27.1+) avec un acces administrateur et l'application Talk installee
- Un secret partage (40-128 caracteres) pour la validation de la signature des webhooks
- Le point de terminaison webhook du Gateway accessible depuis le serveur Nextcloud (URL publique ou reseau interne)
- OpenClaw Gateway installe et en cours d'execution
- Le plugin Nextcloud Talk installe via 'openclaw plugins install @openclaw/nextcloud-talk'
Nextcloud Talk Configuration rapide
Installer le plugin Nextcloud Talk
Executez 'openclaw plugins install @openclaw/nextcloud-talk' pour ajouter la prise en charge de Nextcloud Talk a votre Gateway.
Enregistrer le bot sur votre serveur Nextcloud
Connectez-vous en SSH a votre serveur Nextcloud et executez la commande OCC : ./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction. Remplacez <shared-secret> par un secret robuste d'au moins 40 caracteres, et <webhook-url> par le point de terminaison webhook du Gateway accessible publiquement (par exemple, https://gateway.example.com:8788/webhook).
Activer le bot et configurer
Dans Nextcloud Talk, accedez aux parametres du salon et activez le bot OpenClaw. Ajoutez ensuite la configuration du canal dans ~/.openclaw/openclaw.json avec votre baseUrl et botSecret. Demarrez le Gateway avec 'openclaw start' et envoyez un message dans le salon pour verifier la connexion.
Nextcloud Talk Exemple de configuration
{
"channels": {
"nextcloud-talk": {
"enabled": true,
"baseUrl": "https://nextcloud.example.com",
"botSecret": "your-shared-secret-min-40-chars",
"dmPolicy": "pairing"
}
}
}Nextcloud Talk Documentation Détaillée
Vue d'ensemble de l'architecture
Enregistrement du bot via OCC
./occ talk:bot:install "OpenClaw" "a]72@Bz&V!LKMO*xhQib7p^E%yzGMG(8a7Bp*x6o" "https://gateway.example.com:8788/webhook" --feature reactionPolitiques de messages directs
{
"channels": {
"nextcloud-talk": {
"dmPolicy": "pairing",
"allowFrom": ["user-id-1", "user-id-2"]
}
}
}Configuration des salons
{
"channels": {
"nextcloud-talk": {
"groupPolicy": "allowlist",
"rooms": {
"abc123token": {
"requireMention": true
},
"def456token": {
"requireMention": false
}
}
}
}
}Identifiants API pour la detection du type de salon
{
"channels": {
"nextcloud-talk": {
"apiUser": "bot-service-account",
"apiPassword": "service-account-password",
"apiPasswordFile": "/run/secrets/nc-api-password"
}
}
}Configuration des webhooks
{
"channels": {
"nextcloud-talk": {
"webhookPort": 8788,
"webhookHost": "0.0.0.0",
"webhookPath": "/webhook",
"webhookPublicUrl": "https://gateway.example.com:8788/webhook"
}
}
}Gestion des messages et streaming
{
"channels": {
"nextcloud-talk": {
"textChunkLimit": 4000,
"chunkMode": "newline",
"blockStreaming": true,
"blockStreamingCoalesce": true,
"mediaMaxMb": 10
}
}
}Historique des conversations
{
"channels": {
"nextcloud-talk": {
"historyLimit": 20,
"dmHistoryLimit": 50
}
}
}Prise en charge des reactions
Securite et signature des webhooks
Nextcloud Talk Référence de Configuration
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Activer ou desactiver le canal Nextcloud Talk |
| baseUrl | string | "" | URL complete de votre serveur Nextcloud (par exemple, https://nextcloud.example.com) |
| botSecret | string | "" | Secret partage utilise pour la validation de la signature des webhooks (doit correspondre au secret de l'installation OCC) |
| botSecretFile | string | "" | Chemin vers un fichier contenant le secret partage (alternative au botSecret en ligne) |
| apiUser | string | "" | Nom d'utilisateur Nextcloud pour les appels API (utilise pour la detection du type de salon) |
| apiPassword | string | "" | Mot de passe du compte utilisateur API |
| apiPasswordFile | string | "" | Chemin vers un fichier contenant le mot de passe API (alternative au apiPassword en ligne) |
| dmPolicy | string | "pairing" | Politique d'acces aux messages directs : 'pairing' (code de verification), 'open' (tout utilisateur), ou 'disabled' (pas de messages directs) |
| allowFrom | string[] | [] | Identifiants utilisateur Nextcloud autorises a envoyer des messages directs au bot (utilisez ["*"] pour un acces ouvert) |
| groupPolicy | string | "allowlist" | Politique d'acces aux salons : 'allowlist' (uniquement les salons actives par un moderateur) |
| webhookPort | number | 8788 | Port du serveur HTTP de webhook integre |
| webhookHost | string | "0.0.0.0" | Interface a laquelle lier le serveur de webhook |
| webhookPath | string | "/webhook" | Chemin d'URL pour le point de terminaison webhook |
| webhookPublicUrl | string | "" | URL publique complete pour le point de terminaison webhook (requise derriere un reverse proxy) |
| historyLimit | number | 20 | Nombre maximal de messages precedents inclus comme contexte pour les conversations de salon |
| dmHistoryLimit | number | 50 | Nombre maximal de messages precedents inclus comme contexte pour les conversations par message direct |
| textChunkLimit | number | 4000 | Nombre maximal de caracteres par segment de message |
| chunkMode | string | "length" | Mode de decoupage du texte : 'length' (limite de caracteres) ou 'newline' (limites de paragraphe) |
| blockStreaming | boolean | false | Attendre la reponse complete de l'IA avant l'envoi (pas de streaming) |
| blockStreamingCoalesce | boolean | false | Combiner les segments de streaming en un seul message final |
| mediaMaxMb | number | 10 | Taille maximale des fichiers en Mo pour les references d'URL multimedia |
Activer ou desactiver le canal Nextcloud Talk
URL complete de votre serveur Nextcloud (par exemple, https://nextcloud.example.com)
Secret partage utilise pour la validation de la signature des webhooks (doit correspondre au secret de l'installation OCC)
Chemin vers un fichier contenant le secret partage (alternative au botSecret en ligne)
Nom d'utilisateur Nextcloud pour les appels API (utilise pour la detection du type de salon)
Mot de passe du compte utilisateur API
Chemin vers un fichier contenant le mot de passe API (alternative au apiPassword en ligne)
Politique d'acces aux messages directs : 'pairing' (code de verification), 'open' (tout utilisateur), ou 'disabled' (pas de messages directs)
Identifiants utilisateur Nextcloud autorises a envoyer des messages directs au bot (utilisez ["*"] pour un acces ouvert)
Politique d'acces aux salons : 'allowlist' (uniquement les salons actives par un moderateur)
Port du serveur HTTP de webhook integre
Interface a laquelle lier le serveur de webhook
Chemin d'URL pour le point de terminaison webhook
URL publique complete pour le point de terminaison webhook (requise derriere un reverse proxy)
Nombre maximal de messages precedents inclus comme contexte pour les conversations de salon
Nombre maximal de messages precedents inclus comme contexte pour les conversations par message direct
Nombre maximal de caracteres par segment de message
Mode de decoupage du texte : 'length' (limite de caracteres) ou 'newline' (limites de paragraphe)
Attendre la reponse complete de l'IA avant l'envoi (pas de streaming)
Combiner les segments de streaming en un seul message final
Taille maximale des fichiers en Mo pour les references d'URL multimedia
Nextcloud Talk Questions Fréquentes
Nextcloud Talk Dépannage
L'URL du webhook est inaccessible, le bot n'est pas active dans le salon, ou le secret partage ne correspond pas.
Le secret partage dans openclaw.json ne correspond pas a celui utilise lors de l'installation du bot.
Le bot n'a pas ete active par un moderateur dans le salon cible, ou requireMention est defini sur true et le bot n'a pas ete @mentionne.
Les identifiants API (apiUser, apiPassword) ne sont pas configures.
Le port webhook configure est deja utilise ou la liaison a l'interface est invalide.