openclaw message
單一傳出命令,用於跨 Discord、Google Chat、iMessage、Matrix、Mattermost(外掛)、Microsoft Teams、Signal、Slack、Telegram 與 WhatsApp 傳送訊息及執行頻道動作。
頻道選擇
- 若設定了多個頻道,則必須指定
--channel <name>;若只設定一個頻道,則預設使用該頻道。 - 值:
discord|googlechat|imessage|matrix|mattermost|msteams|signal|slack|telegram|whatsapp(Mattermost 需要外掛)。 - 帶有頻道前綴的目標(例如
discord:channel:123)無須明確指定--channel,即可解析出所屬外掛。
目標格式(-t, --target)
頻道名稱查詢:對於具有目錄的提供者(Discord/Slack 等),
Help 或 #help 等名稱會透過目錄快取解析;若快取未命中,且提供者支援即時目錄查詢,則改用即時查詢。
通用旗標
每個動作都接受:--channel <name>、--account <id>、--json、--dry-run、--verbose。需要目的地的動作也接受 -t, --target <dest>。
SecretRef 解析
openclaw message 會在執行動作前解析頻道 SecretRef,並將範圍儘可能縮小:
- 設定
--channel時(或從帶前綴的目標推斷時),範圍限於頻道 - 同時設定
--account時,範圍限於帳號 - 兩者皆未設定時,範圍涵蓋所有已設定的頻道
動作
核心
傳送
--media <path-or-url>:附加圖片/音訊/影片/文件(本機路徑或 URL)。--presentation <json>:包含text、context、divider、chart、table、buttons與select區塊的共用承載資料,依各頻道功能呈現。請參閱訊息呈現。--delivery <json>:一般傳遞偏好設定,例如{"pin": true}。頻道支援時,--pin是釘選傳遞的簡寫。--reply-to <id>、--thread-id <id>(Telegram 論壇主題;Slack 討論串時間戳記,與--reply-to為同一欄位)。--force-document(Telegram、WhatsApp):以文件形式傳送圖片/GIF/影片,以避免頻道壓縮。--silent(Telegram、Discord):傳送時不發出通知。--gif-playback(僅限 WhatsApp):將影片媒體視為 GIF 播放。
webApp(舊版
JSON 中的 web_app 仍可剖析),且只會呈現在使用者與機器人之間的私人聊天中:
投票
--poll-option <choice>:重複 2-12 次。--poll-multi:允許多選。- Discord:
--poll-duration-hours、--silent、--message。 - Telegram:
--poll-duration-seconds <n>(5-600)、--silent、--poll-anonymous/--poll-public、--thread-id。
討論串
thread create:頻道 Discord。必填:--thread-name、--target(頻道 ID)。選填:--message-id、--message、--auto-archive-min。thread list:頻道 Discord。必填:--guild-id。選填:--channel-id、--include-archived、--before、--limit。thread reply:頻道 Discord。必填:--target(討論串 ID)、--message。選填:--media、--reply-to。
表情符號
emoji list:Discord(--guild-id)、Slack(無額外旗標)。emoji upload:Discord。必填:--guild-id、--emoji-name、--media。 選填:--role-ids(可重複)。
貼圖
sticker send:Discord。必填:--target、--sticker-id(可重複)。 選填:--message。sticker upload:Discord。必填:--guild-id、--sticker-name、--sticker-desc、--sticker-tags、--media。
角色、頻道、語音、活動(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:必填--guild-id、--event-name、--start-time; 選填--end-time、--desc、--channel-id、--location、--event-type、--image <url-or-path>。
管理(Discord)
timeout:--guild-id、--user-id;選填--duration-min或--until(兩者都省略即可清除逾時設定)、--reason。kick:--guild-id、--user-id、--reason。ban:--guild-id、--user-id、--delete-days、--reason。
廣播
--targets 接受以空格分隔的
清單。使用 --channel all 即可指定所有已設定的提供者。