Nextcloud Talk (plugin)
Statut : pris en charge via plugin (bot webhook). Messages prives, salons, reactions et messages markdown sont pris en charge.
Plugin requis
Nextcloud Talk est fourni comme plugin et n’est pas inclus dans l’installation de base.
Installation via CLI (registre npm) :
openclaw plugins install @openclaw/nextcloud-talk
Checkout local (execution depuis un depot git) :
openclaw plugins install ./extensions/nextcloud-talk
Si vous choisissez Nextcloud Talk pendant la configuration/l’onboarding et qu’un checkout git est detecte, OpenClaw proposera automatiquement le chemin d’installation local.
Details : Plugins
Configuration rapide (debutant)
-
Installez le plugin Nextcloud Talk.
-
Sur votre serveur Nextcloud, creez un bot :
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
Activez le bot dans les parametres du salon cible.
-
Configurez OpenClaw :
- Config :
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Ou env :
NEXTCLOUD_TALK_BOT_SECRET(compte par defaut uniquement)
- Config :
-
Redemarrez la gateway (ou terminez l’onboarding).
Configuration minimale :
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
Remarques
- Les bots ne peuvent pas initier de DMs. L’utilisateur doit envoyer un message au bot en premier.
- L’URL du webhook doit etre accessible par la Gateway ; definissez
webhookPublicUrlsi vous etes derriere un proxy. - Les envois de medias ne sont pas pris en charge par l’API bot ; les medias sont envoyes sous forme d’URL.
- Le payload du webhook ne distingue pas DMs vs salons ; definissez
apiUser+apiPasswordpour activer les recherches de type de salon (sinon les DMs sont traites comme des salons).
Controle d’acces (DMs)
- Par defaut :
channels.nextcloud-talk.dmPolicy = "pairing". Les expediteurs inconnus recoivent un code d’appairage. - Approbation via :
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- DMs publics :
channels.nextcloud-talk.dmPolicy="open"pluschannels.nextcloud-talk.allowFrom=["*"]. allowFromcorrespond uniquement aux IDs utilisateur Nextcloud ; les noms d’affichage sont ignores.
Salons (groupes)
- Par defaut :
channels.nextcloud-talk.groupPolicy = "allowlist"(filtre par mention). - Autorisez les salons avec
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- Pour n’autoriser aucun salon, gardez la liste d’autorisation vide ou definissez
channels.nextcloud-talk.groupPolicy="disabled".
Fonctionnalites
| Fonctionnalite | Statut |
|---|---|
| Messages prives | Pris en charge |
| Salons | Pris en charge |
| Fils | Non pris en charge |
| Medias | URL uniquement |
| Reactions | Pris en charge |
| Commandes natives | Non pris en charge |
Reference de configuration (Nextcloud Talk)
Configuration complete : Configuration
Options du fournisseur :
channels.nextcloud-talk.enabled: activer/desactiver le demarrage du canal.channels.nextcloud-talk.baseUrl: URL de l’instance Nextcloud.channels.nextcloud-talk.botSecret: secret partage du bot.channels.nextcloud-talk.botSecretFile: chemin de fichier regulier pour le secret. Les liens symboliques sont rejetes.channels.nextcloud-talk.apiUser: utilisateur API pour les recherches de salon (detection DM).channels.nextcloud-talk.apiPassword: mot de passe API/app pour les recherches de salon.channels.nextcloud-talk.apiPasswordFile: chemin du fichier de mot de passe API.channels.nextcloud-talk.webhookPort: port d’ecoute du webhook (par defaut : 8788).channels.nextcloud-talk.webhookHost: hote du webhook (par defaut : 0.0.0.0).channels.nextcloud-talk.webhookPath: chemin du webhook (par defaut : /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: URL du webhook accessible de l’exterieur.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: liste d’autorisation DM (IDs utilisateur).opennecessite"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: liste d’autorisation de groupe (IDs utilisateur).channels.nextcloud-talk.rooms: parametres par salon et liste d’autorisation.channels.nextcloud-talk.historyLimit: limite d’historique de groupe (0 desactive).channels.nextcloud-talk.dmHistoryLimit: limite d’historique DM (0 desactive).channels.nextcloud-talk.dms: surcharges par DM (historyLimit).channels.nextcloud-talk.textChunkLimit: taille de decoupe du texte sortant (caracteres).channels.nextcloud-talk.chunkMode:length(par defaut) ounewlinepour decouper sur les lignes vides (limites de paragraphe) avant la decoupe par longueur.channels.nextcloud-talk.blockStreaming: desactiver le streaming par blocs pour ce canal.channels.nextcloud-talk.blockStreamingCoalesce: reglage de la coalescence du streaming par blocs.channels.nextcloud-talk.mediaMaxMb: limite de media entrant (Mo).