openclaw message
メッセージ送信とチャネルアクションのための単一の送信コマンド
(Discord/Google Chat/iMessage/Matrix/Mattermost(plugin)/Microsoft Teams/Signal/Slack/Telegram/WhatsApp)。
使用方法
- 2 つ以上のチャネルが設定されている場合、
--channelが必須です。 - ちょうど 1 つのチャネルだけが設定されている場合、それがデフォルトになります。
- 値:
discord|googlechat|imessage|matrix|mattermost|msteams|signal|slack|telegram|whatsapp(Mattermost には plugin が必要)
--target):
- WhatsApp: E.164 または group JID
- Telegram: chat id または
@username - Discord:
channel:<id>またはuser:<id>(または<@id>メンション。生の数値 id はチャネルとして扱われます) - Google Chat:
spaces/<spaceId>またはusers/<userId> - Slack:
channel:<id>またはuser:<id>(生の channel id も受け付けます) - Mattermost(plugin):
channel:<id>、user:<id>、または@username(プレフィックスなし id はチャネルとして扱われます) - Signal:
+E.164、group:<id>、signal:+E.164、signal:group:<id>、またはusername:<name>/u:<name> - iMessage: handle、
chat_id:<id>、chat_guid:<guid>、またはchat_identifier:<id> - Matrix:
@user:server、!room:server、または#alias:server - Microsoft Teams: conversation id(
19:...@thread.tacv2)またはconversation:<id>またはuser:<aad-object-id>
- サポート対象プロバイダー(Discord/Slack など)では、
Helpや#helpのようなチャネル名は directory cache 経由で解決されます。 - cache miss の場合、プロバイダーが対応していれば、OpenClaw は live directory lookup を試行します。
共通フラグ
--channel <name>--account <id>--target <dest>(send/poll/read などのターゲットチャネルまたはユーザー)--targets <name>(繰り返し指定。broadcast のみ)--json--dry-run--verbose
SecretRef の挙動
openclaw messageは、選択したアクションを実行する前に、サポート対象チャネルの SecretRef を解決します。- 解決は可能な限りアクティブなアクションターゲットにスコープされます:
--channelが設定されている場合のチャネルスコープ(またはdiscord:...のようなプレフィックス付きターゲットから推定される場合)--accountが設定されている場合のアカウントスコープ(チャネル globals + 選択したアカウント surface)--accountが省略されている場合、OpenClaw はdefaultアカウントの SecretRef スコープを強制しません
- 関連のないチャネル上の未解決 SecretRef は、ターゲット指定されたメッセージアクションを妨げません。
- 選択したチャネル/アカウントの SecretRef が未解決の場合、そのアクションではコマンドは fail-closed します。
アクション
コア
-
send- チャネル: WhatsApp/Telegram/Discord/Google Chat/Slack/Mattermost(plugin)/Signal/iMessage/Matrix/Microsoft Teams
- 必須:
--target、および--messageまたは--media - 任意:
--media、--interactive、--buttons、--components、--card、--reply-to、--thread-id、--gif-playback、--force-document、--silent - 共通 interactive payload:
--interactiveは、対応している場合にチャネルネイティブの interactive JSON payload を送信します - Telegram のみ:
--buttons(channels.telegram.capabilities.inlineButtonsで許可されている必要があります) - Telegram のみ:
--force-document(Telegram の圧縮を避けるために画像と GIF を document として送信) - Telegram のみ:
--thread-id(forum topic id) - Slack のみ:
--thread-id(thread timestamp。--reply-toは同じフィールドを使います) - Discord のみ:
--componentsJSON payload - Adaptive Card 対応チャネル: 対応している場合の
--cardJSON payload - Telegram + Discord:
--silent - WhatsApp のみ:
--gif-playback
-
poll- チャネル: WhatsApp/Telegram/Discord/Matrix/Microsoft Teams
- 必須:
--target、--poll-question、--poll-option(繰り返し) - 任意:
--poll-multi - Discord のみ:
--poll-duration-hours、--silent、--message - Telegram のみ:
--poll-duration-seconds(5-600)、--silent、--poll-anonymous/--poll-public、--thread-id
-
react- チャネル: Discord/Google Chat/Slack/Telegram/WhatsApp/Signal/Matrix
- 必須:
--message-id、--target - 任意:
--emoji、--remove、--participant、--from-me、--target-author、--target-author-uuid - 注記:
--removeには--emojiが必要です(対応している場合に自分のリアクションを消去するには--emojiを省略します。詳細は /tools/reactions を参照) - WhatsApp のみ:
--participant、--from-me - Signal グループリアクション:
--target-authorまたは--target-author-uuidが必須
-
reactions- チャネル: Discord/Google Chat/Slack/Matrix
- 必須:
--message-id、--target - 任意:
--limit
-
read- チャネル: Discord/Slack/Matrix
- 必須:
--target - 任意:
--limit、--before、--after - Discord のみ:
--around
-
edit- チャネル: Discord/Slack/Matrix
- 必須:
--message-id、--message、--target
-
delete- チャネル: Discord/Slack/Telegram/Matrix
- 必須:
--message-id、--target
-
pin/unpin- チャネル: Discord/Slack/Matrix
- 必須:
--message-id、--target
-
pins(一覧)- チャネル: Discord/Slack/Matrix
- 必須:
--target
-
permissions- チャネル: Discord/Matrix
- 必須:
--target - Matrix のみ: Matrix encryption が有効で verification action が許可されている場合に利用可能
-
search- チャネル: Discord
- 必須:
--guild-id、--query - 任意:
--channel-id、--channel-ids(繰り返し)、--author-id、--author-ids(繰り返し)、--limit
スレッド
-
thread create- チャネル: Discord
- 必須:
--thread-name、--target(channel id) - 任意:
--message-id、--message、--auto-archive-min
-
thread list- チャネル: Discord
- 必須:
--guild-id - 任意:
--channel-id、--include-archived、--before、--limit
-
thread reply- チャネル: Discord
- 必須:
--target(thread id)、--message - 任意:
--media、--reply-to
絵文字
-
emoji list- Discord:
--guild-id - Slack: 追加フラグなし
- Discord:
-
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
ロール / チャネル / メンバー / Voice
role info(Discord):--guild-idrole add/role remove(Discord):--guild-id、--user-id、--role-idchannel info(Discord):--targetchannel list(Discord):--guild-idmember info(Discord/Slack):--user-id(Discord ではさらに--guild-id)voice status(Discord):--guild-id、--user-id
イベント
event list(Discord):--guild-idevent create(Discord):--guild-id、--event-name、--start-time- 任意:
--end-time、--desc、--channel-id、--location、--event-type
- 任意:
モデレーション(Discord)
timeout:--guild-id、--user-id(任意で--duration-minまたは--until。どちらも省略すると timeout を解除)kick:--guild-id、--user-id(+--reason)ban:--guild-id、--user-id(+--delete-days、--reason)timeoutでも--reasonをサポートします
Broadcast
broadcast- チャネル: 設定済みの任意のチャネル。すべてのプロバイダーを対象にするには
--channel allを使います - 必須:
--targets <target...> - 任意:
--message、--media、--dry-run
- チャネル: 設定済みの任意のチャネル。すべてのプロバイダーを対象にするには