openclaw message
Comando de salida único para enviar mensajes y acciones de canal en
Discord, Google Chat, iMessage, Matrix, Mattermost (plugin), Microsoft Teams,
Signal, Slack, Telegram y WhatsApp.
Selección de canal
--channel <name>es obligatorio si hay más de un canal configurado; si hay exactamente un canal configurado, ese canal es el predeterminado.- Valores:
discord|googlechat|imessage|matrix|mattermost|msteams|signal|slack|telegram|whatsapp(Mattermost requiere el plugin). - Los destinos con prefijo de canal (por ejemplo,
discord:channel:123) permiten resolver el plugin propietario sin especificar--channelde forma explícita.
Formatos de destino (-t, --target)
Búsqueda por nombre de canal: para proveedores con un directorio (Discord/Slack/etc.), los nombres
como
Help o #help se resuelven mediante la caché del directorio y, si no se encuentran en ella, se recurre a una
búsqueda en tiempo real en el directorio cuando el proveedor lo admite.
Indicadores comunes
Todas las acciones aceptan:--channel <name>, --account <id>, --json,
--dry-run, --verbose. Las acciones que requieren un destino también aceptan
-t, --target <dest>.
Resolución de SecretRef
openclaw message resuelve los SecretRef del canal antes de ejecutar la acción,
con el alcance más limitado posible:
- alcance de canal cuando se establece
--channel(o se deduce de un destino con prefijo) - alcance de cuenta cuando también se establece
--account - todos los canales configurados cuando no se establece ninguno
Acciones
Principales
Enviar
--media <path-or-url>: adjunta una imagen, un audio, un vídeo o un documento (ruta local o URL).--presentation <json>: carga útil compartida con bloquestext,context,divider,chart,table,buttonsyselect, representados según la capacidad de cada canal. Véase Presentación de mensajes.--delivery <json>: preferencias genéricas de entrega, por ejemplo,{"pin": true}.--pines una forma abreviada de solicitar una entrega fijada cuando el canal la admite.--reply-to <id>,--thread-id <id>(tema de foro de Telegram; marca de tiempo del hilo de Slack, el mismo campo que--reply-to).--force-document(Telegram, WhatsApp): envía imágenes, GIF y vídeos como documentos para evitar la compresión del canal.--silent(Telegram, Discord): envía sin notificación.--gif-playback(solo WhatsApp): trata el contenido de vídeo como reproducción GIF.
webApp (web_app aún se analiza para JSON
heredado) y solo se representan en chats privados entre un usuario y el bot:
Encuesta
--poll-option <choice>: repetir entre 2 y 12 veces.--poll-multi: permitir varias selecciones.- Discord:
--poll-duration-hours,--silent,--message. - Telegram:
--poll-duration-seconds <n>(5-600),--silent,--poll-anonymous/--poll-public,--thread-id.
Hilos
thread create: canales Discord. Obligatorios:--thread-name,--target(id del canal). Opcionales:--message-id,--message,--auto-archive-min.thread list: canales Discord. Obligatorio:--guild-id. Opcionales:--channel-id,--include-archived,--before,--limit.thread reply: canales Discord. Obligatorios:--target(id del hilo),--message. Opcionales:--media,--reply-to.
Emojis
emoji list: Discord (--guild-id), Slack (sin indicadores adicionales).emoji upload: Discord. Obligatorios:--guild-id,--emoji-name,--media. Opcional:--role-ids(repetir).
Stickers
sticker send: Discord. Obligatorios:--target,--sticker-id(repetir). Opcional:--message.sticker upload: Discord. Obligatorios:--guild-id,--sticker-name,--sticker-desc,--sticker-tags,--media.
Roles, canales, voz y eventos (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: obligatorios--guild-id,--event-name,--start-time; opcionales--end-time,--desc,--channel-id,--location,--event-type,--image <url-or-path>.
Moderación (Discord)
timeout:--guild-id,--user-id; opcional--duration-mino--until(omitir ambos para eliminar el tiempo de espera),--reason.kick:--guild-id,--user-id,--reason.ban:--guild-id,--user-id,--delete-days,--reason.
Difusión
--targets acepta una lista
separada por espacios. Usar --channel all para dirigirse a todos los proveedores configurados.