Skip to main content

openclaw message

Discord, Google Chat, iMessage, Matrix, Mattermost(Plugin), Microsoft Teams, Signal, Slack, Telegram, WhatsApp 전반에서 메시지와 채널 작업을 전송하는 단일 아웃바운드 명령입니다.

채널 선택

  • 채널이 두 개 이상 구성된 경우 --channel <name>이 필수이며, 정확히 하나의 채널만 구성된 경우 해당 채널이 기본값입니다.
  • 값: 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>: 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 재생으로 처리합니다.
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.

브로드캐스트

하나의 페이로드를 여러 대상으로 전송합니다. --targets에는 공백으로 구분된 목록을 지정합니다. 구성된 모든 제공자를 대상으로 하려면 --channel all을 사용합니다.

관련 문서