Skip to main content

openclaw message

Discord、Google Chat、iMessage、Matrix、Mattermost(Plugin)、Microsoft Teams、 Signal、Slack、Telegram、WhatsApp でメッセージやチャンネルアクションを送信するための 単一の送信コマンドです。

チャンネルの選択

  • 複数のチャンネルが設定されている場合、--channel <name> は必須です。 設定されているチャンネルが 1 つだけの場合は、そのチャンネルがデフォルトになります。
  • 値: discord|googlechat|imessage|matrix|mattermost|msteams|signal|slack|telegram|whatsapp (Mattermost には Plugin が必要です)。
  • チャンネル接頭辞付きのターゲット(例: discord:channel:123)は、明示的な --channel がなくても、そのターゲットを所有する Plugin に解決されます。

ターゲット形式(-t, --target

チャンネル名の検索: ディレクトリを持つプロバイダー(Discord、Slack など)では、 Help#help のような名前はディレクトリキャッシュを介して解決されます。キャッシュにない場合は、 プロバイダーが対応していればライブのディレクトリ検索にフォールバックします。

共通フラグ

すべてのアクションで --channel <name>--account <id>--json--dry-run--verbose を使用できます。宛先を取るアクションでは、 -t, --target <dest> も使用できます。

SecretRef の解決

openclaw message はアクションの実行前に、可能な限り狭いスコープで チャンネルの SecretRef を解決します。
  • --channel が設定されている場合(または接頭辞付きターゲットから推測された場合)はチャンネルスコープ
  • --account も設定されている場合はアカウントスコープ
  • どちらも設定されていない場合は、設定済みのすべてのチャンネル
無関係なチャンネルで未解決の SecretRef があっても、対象を指定したアクションがブロックされることはありません。一方、 選択したチャンネルまたはアカウントに未解決の SecretRef がある場合、アクションは安全側に失敗します。

アクション

コア

送信

  • --media <path-or-url>: 画像/音声/動画/ドキュメント(ローカルパスまたは URL)を添付します。
  • --presentation <json>: textcontextdividercharttablebuttonsselect ブロックを含む共有ペイロードです。各チャンネルの 機能に応じてレンダリングされます。メッセージプレゼンテーションを参照してください。
  • --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 として再生します。
Slack は、サポートされているチャートブロックをネイティブにレンダリングします。他のチャンネルでは、同じ データを読みやすいテキストとして受信します:
Slack は明示的なテーブルブロックもネイティブにレンダリングします。他のチャンネルでは、 キャプションとすべての行を決定論的なテキストとして受信します:
Telegram Mini App ボタンは 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

ブロードキャスト

1つのペイロードを複数のターゲットに送信します。--targets は、スペース区切りの リストを受け取ります。設定済みのすべてのプロバイダーを対象にするには、--channel all を使用します。

関連項目