Skip to main content

openclaw message

Commande sortante unique permettant d’envoyer des messages et d’effectuer des actions sur les canaux Discord, Google Chat, iMessage, Matrix, Mattermost (plugin), Microsoft Teams, Signal, Slack, Telegram et WhatsApp.

Sélection du canal

  • --channel <name> est requis si plusieurs canaux sont configurés ; si un seul canal est configuré, celui-ci est utilisé par défaut.
  • Valeurs : discord|googlechat|imessage|matrix|mattermost|msteams|signal|slack|telegram|whatsapp (Mattermost nécessite le plugin).
  • Les cibles préfixées par un canal (par exemple discord:channel:123) permettent d’identifier le plugin propriétaire sans spécifier explicitement --channel.

Formats de cible (-t, --target)

Recherche par nom de canal : pour les fournisseurs disposant d’un annuaire (Discord/Slack/etc.), les noms tels que Help ou #help sont résolus via le cache de l’annuaire, avec recours à une recherche en direct dans l’annuaire en cas d’absence dans le cache lorsque le fournisseur la prend en charge.

Options communes

Chaque action accepte : --channel <name>, --account <id>, --json, --dry-run, --verbose. Les actions nécessitant une destination acceptent également -t, --target <dest>.

Résolution des SecretRefs

openclaw message résout les SecretRefs des canaux avant d’exécuter l’action, avec la portée la plus restreinte possible :
  • limitée au canal lorsque --channel est défini (ou déduit d’une cible préfixée)
  • limitée au compte lorsque --account est également défini
  • tous les canaux configurés lorsque ni l’un ni l’autre n’est défini
Les SecretRefs non résolues sur des canaux sans rapport ne bloquent jamais une action ciblée ; une SecretRef non résolue sur le canal ou le compte sélectionné entraîne l’échec sécurisé de l’action.

Actions

Principales

Envoi

  • --media <path-or-url> : joint une image, un fichier audio, une vidéo ou un document (chemin local ou URL).
  • --presentation <json> : charge utile partagée comprenant des blocs text, context, divider, chart, table, buttons et select, dont le rendu est adapté aux capacités de chaque canal. Voir Présentation des messages.
  • --delivery <json> : préférences générales de distribution, par exemple {"pin": true}. --pin est un raccourci permettant d’épingler le message lors de sa distribution lorsque le canal le prend en charge.
  • --reply-to <id>, --thread-id <id> (sujet de forum Telegram ; horodatage du fil Slack, même champ que --reply-to).
  • --force-document (Telegram, WhatsApp) : envoie les images/GIF/vidéos sous forme de documents afin d’éviter la compression du canal.
  • --silent (Telegram, Discord) : envoie sans notification.
  • --gif-playback (WhatsApp uniquement) : traite le média vidéo comme une animation GIF.
Slack affiche nativement les blocs de graphique pris en charge ; les autres canaux reçoivent les mêmes données sous forme de texte lisible :
Slack affiche également les blocs de tableau explicites de manière native. Les autres canaux reçoivent la légende et chaque ligne sous forme de texte déterministe :
Les boutons de mini-application Telegram utilisent webApp (web_app reste analysé pour les anciens documents JSON) et ne s’affichent que dans les discussions privées entre un utilisateur et le bot :

Sondage

  • --poll-option <choice> : à répéter de 2 à 12 fois.
  • --poll-multi : autorise plusieurs sélections.
  • Discord : --poll-duration-hours, --silent, --message.
  • Telegram : --poll-duration-seconds <n> (5-600), --silent, --poll-anonymous / --poll-public, --thread-id.

Fils de discussion

  • thread create : canaux Discord. Obligatoires : --thread-name, --target (identifiant du canal). Facultatifs : --message-id, --message, --auto-archive-min.
  • thread list : canaux Discord. Obligatoire : --guild-id. Facultatifs : --channel-id, --include-archived, --before, --limit.
  • thread reply : canaux Discord. Obligatoires : --target (identifiant du fil), --message. Facultatifs : --media, --reply-to.

Émojis

  • emoji list : Discord (--guild-id), Slack (aucune option supplémentaire).
  • emoji upload : Discord. Obligatoires : --guild-id, --emoji-name, --media. Facultatif : --role-ids (répétable).

Autocollants

  • sticker send : Discord. Obligatoires : --target, --sticker-id (répétable). Facultatif : --message.
  • sticker upload : Discord. Obligatoires : --guild-id, --sticker-name, --sticker-desc, --sticker-tags, --media.

Rôles, canaux, voix et événements (Discord)

  • role info : --guild-id.
  • role add / role remove : --guild-id, --user-id, --role-id.
  • channel info : --target.
  • channel list : --guild-id.
  • voice status : --guild-id, --user-id.
  • event list : --guild-id.
  • event create : obligatoires : --guild-id, --event-name, --start-time ; facultatifs : --end-time, --desc, --channel-id, --location, --event-type, --image <url-or-path>.

Modération (Discord)

  • timeout : --guild-id, --user-id ; facultatifs : --duration-min ou --until (omettez les deux pour supprimer l’exclusion temporaire), --reason.
  • kick : --guild-id, --user-id, --reason.
  • ban : --guild-id, --user-id, --delete-days, --reason.

Diffusion

Envoie une même charge utile à plusieurs destinataires. --targets accepte une liste séparée par des espaces. Utilisez --channel all pour cibler tous les fournisseurs configurés.

Voir aussi