Plateformes de messagerie

Nextcloud Talk

Statut : pris en charge via plugin (bot webhook). Les messages directs, les salles, les réactions et les messages en markdown sont pris en charge.

Plugin requis

Nextcloud Talk est fourni sous forme de plugin et n'est pas inclus dans l'installation principale. Installez-le via la CLI (registre npm) :

openclaw plugins install @openclaw/nextcloud-talk

Installation locale (lors d'une exécution depuis un dépôt git) :

openclaw plugins install ./extensions/nextcloud-talk

Si vous choisissez Nextcloud Talk pendant la configuration/onboarding et qu'un dépôt git est détecté, OpenClaw proposera automatiquement le chemin d'installation local. Détails : Plugins

Configuration rapide (débutant)

  1. Installez le plugin Nextcloud Talk.

  2. Sur votre serveur Nextcloud, créez un bot :

    Copier

    ./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction
    
  3. Activez le bot dans les paramètres de la salle cible.

  4. Configurez OpenClaw :

    • Config : channels.nextcloud-talk.baseUrl + channels.nextcloud-talk.botSecret
    • Ou variable d'env : NEXTCLOUD_TALK_BOT_SECRET (compte par défaut uniquement)
  5. Redémarrez la passerelle (ou terminez l'onboarding).

Configuration minimale :

{
  channels: {
    "nextcloud-talk": {
      enabled: true,
      baseUrl: "https://cloud.example.com",
      botSecret: "shared-secret",
      dmPolicy: "pairing",
    },
  },
}

Notes

  • Les bots ne peuvent pas initier de messages directs. L'utilisateur doit d'abord envoyer un message au bot.
  • L'URL du webhook doit être accessible par la Passerelle ; définissez webhookPublicUrl si vous êtes derrière un proxy.
  • Les téléversements de médias ne sont pas pris en charge par l'API bot ; les médias sont envoyés sous forme d'URL.
  • La charge utile du webhook ne distingue pas les messages directs des salles ; définissez apiUser + apiPassword pour activer les vérifications de type de salle (sinon, les messages directs sont traités comme des salles).

Contrôle d'accès (messages directs)

  • Par défaut : channels.nextcloud-talk.dmPolicy = "pairing". Les expéditeurs inconnus reçoivent un code d'appairage.
  • Approuvez via :
    • openclaw pairing list nextcloud-talk
    • openclaw pairing approve nextcloud-talk <CODE>
  • Messages directs publics : channels.nextcloud-talk.dmPolicy="open" plus channels.nextcloud-talk.allowFrom=["*"].
  • allowFrom correspond uniquement aux identifiants utilisateur Nextcloud ; les noms d'affichage sont ignorés.

Salles (groupes)

  • Par défaut : channels.nextcloud-talk.groupPolicy = "allowlist" (accès par mention).
  • Ajoutez des salles à la liste autorisée avec channels.nextcloud-talk.rooms :
{
  channels: {
    "nextcloud-talk": {
      rooms: {
        "room-token": { requireMention: true },
      },
    },
  },
}
  • Pour n'autoriser aucune salle, gardez la liste autorisée vide ou définissez channels.nextcloud-talk.groupPolicy="disabled".

Capacités

FonctionnalitéStatut
Messages directsPris en charge
SallesPris en charge
Fils de discussionNon pris en charge
MédiasURL uniquement
RéactionsPris en charge
Commandes nativesNon pris en charge

Référence de configuration (Nextcloud Talk)

Configuration complète : Configuration Options du fournisseur :

  • channels.nextcloud-talk.enabled : activer/désactiver le démarrage du canal.
  • channels.nextcloud-talk.baseUrl : URL de l'instance Nextcloud.
  • channels.nextcloud-talk.botSecret : secret partagé du bot.
  • channels.nextcloud-talk.botSecretFile : chemin du fichier secret.
  • channels.nextcloud-talk.apiUser : utilisateur API pour les vérifications de salle (détection des messages directs).
  • channels.nextcloud-talk.apiPassword : mot de passe API/app pour les vérifications de salle.
  • channels.nextcloud-talk.apiPasswordFile : chemin du fichier de mot de passe API.
  • channels.nextcloud-talk.webhookPort : port d'écoute du webhook (par défaut : 8788).
  • channels.nextcloud-talk.webhookHost : hôte du webhook (par défaut : 0.0.0.0).
  • channels.nextcloud-talk.webhookPath : chemin du webhook (par défaut : /nextcloud-talk-webhook).
  • channels.nextcloud-talk.webhookPublicUrl : URL du webhook accessible publiquement.
  • channels.nextcloud-talk.dmPolicy : pairing | allowlist | open | disabled.
  • channels.nextcloud-talk.allowFrom : liste autorisée pour les messages directs (identifiants utilisateur). open nécessite "*".
  • channels.nextcloud-talk.groupPolicy : allowlist | open | disabled.
  • channels.nextcloud-talk.groupAllowFrom : liste autorisée pour les groupes (identifiants utilisateur).
  • channels.nextcloud-talk.rooms : paramètres et liste autorisée par salle.
  • channels.nextcloud-talk.historyLimit : limite d'historique des groupes (0 désactive).
  • channels.nextcloud-talk.dmHistoryLimit : limite d'historique des messages directs (0 désactive).
  • channels.nextcloud-talk.dms : paramètres par message direct (historyLimit).
  • channels.nextcloud-talk.textChunkLimit : taille des morceaux de texte sortants (caractères).
  • channels.nextcloud-talk.chunkMode : length (par défaut) ou newline pour diviser sur les lignes vides (limites de paragraphe) avant le découpage par longueur.
  • channels.nextcloud-talk.blockStreaming : désactiver le streaming par bloc pour ce canal.
  • channels.nextcloud-talk.blockStreamingCoalesce : réglage de la fusion du streaming par bloc.
  • channels.nextcloud-talk.mediaMaxMb : limite de taille des médias entrants (Mo).

Microsoft TeamsNostr