openclaw message
메시지 전송과 channel action을 처리하는 단일 outbound 명령입니다.
(Discord/Google Chat/Slack/Mattermost (plugin)/Telegram/WhatsApp/Signal/iMessage/MS Teams)
사용법
- 채널이 두 개 이상 configured되어 있으면
--channel이 필수입니다. - 정확히 하나만 configured되어 있으면 그 채널이 기본값이 됩니다.
- 값:
whatsapp|telegram|discord|googlechat|slack|mattermost|signal|imessage|msteams(Mattermost는 plugin 필요)
--target):
- WhatsApp: E.164 또는 group JID
- Telegram: chat id 또는
@username - Discord:
channel:<id>또는user:<id>(또는<@id>mention, 숫자 id만 주면 channel로 처리) - Google Chat:
spaces/<spaceId>또는users/<userId> - Slack:
channel:<id>또는user:<id>(raw channel id 허용) - Mattermost (plugin):
channel:<id>,user:<id>, 또는@username(bare id는 channel로 처리) - 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> - MS Teams: conversation id (
19:...@thread.tacv2) 또는conversation:<id>또는user:<aad-object-id>
- 지원되는 provider(Discord/Slack 등)에서는
Help또는#help같은 channel name을 directory cache를 통해 resolve합니다. - cache miss가 나면 provider가 지원하는 경우 live directory lookup을 시도합니다.
공통 플래그
--channel <name>--account <id>--target <dest>(send/poll/read 등에 사용할 대상 channel 또는 user)--targets <name>(반복 가능, broadcast 전용)--json--dry-run--verbose
Actions
Core
-
send- Channels: WhatsApp/Telegram/Discord/Google Chat/Slack/Mattermost (plugin)/Signal/iMessage/MS Teams
- Required:
--target, plus--message또는--media - Optional:
--media,--reply-to,--thread-id,--gif-playback - Telegram only:
--buttons(channels.telegram.capabilities.inlineButtons허용 필요) - Telegram only:
--thread-id(forum topic id) - Slack only:
--thread-id(thread timestamp,--reply-to도 동일 필드 사용) - WhatsApp only:
--gif-playback
-
poll- Channels: WhatsApp/Telegram/Discord/Matrix/MS Teams
- Required:
--target,--poll-question,--poll-option(repeat) - Optional:
--poll-multi - Discord only:
--poll-duration-hours,--silent,--message - Telegram only:
--poll-duration-seconds(5-600),--silent,--poll-anonymous/--poll-public,--thread-id
-
react- Channels: Discord/Google Chat/Slack/Telegram/WhatsApp/Signal
- Required:
--message-id,--target - Optional:
--emoji,--remove,--participant,--from-me,--target-author,--target-author-uuid - Note:
--remove는--emoji가 필요합니다. (--emoji를 생략하면 지원되는 provider에서는 own reaction만 제거; /tools/reactions 참고) - WhatsApp only:
--participant,--from-me - Signal group reaction:
--target-author또는--target-author-uuid필요
-
reactions- Channels: Discord/Google Chat/Slack
- Required:
--message-id,--target - Optional:
--limit
-
read- Channels: Discord/Slack
- Required:
--target - Optional:
--limit,--before,--after - Discord only:
--around
-
edit- Channels: Discord/Slack
- Required:
--message-id,--message,--target
-
delete- Channels: Discord/Slack/Telegram
- Required:
--message-id,--target
-
pin/unpin- Channels: Discord/Slack
- Required:
--message-id,--target
-
pins(list)- Channels: Discord/Slack
- Required:
--target
-
permissions- Channels: Discord
- Required:
--target
-
search- Channels: Discord
- Required:
--guild-id,--query - Optional:
--channel-id,--channel-ids(repeat),--author-id,--author-ids(repeat),--limit
Threads
-
thread create- Channels: Discord
- Required:
--thread-name,--target(channel id) - Optional:
--message-id,--message,--auto-archive-min
-
thread list- Channels: Discord
- Required:
--guild-id - Optional:
--channel-id,--include-archived,--before,--limit
-
thread reply- Channels: Discord
- Required:
--target(thread id),--message - Optional:
--media,--reply-to
Emojis
-
emoji list- Discord:
--guild-id - Slack: 추가 flag 없음
- Discord:
-
emoji upload- Channels: Discord
- Required:
--guild-id,--emoji-name,--media - Optional:
--role-ids(repeat)
Stickers
-
sticker send- Channels: Discord
- Required:
--target,--sticker-id(repeat) - Optional:
--message
-
sticker upload- Channels: Discord
- Required:
--guild-id,--sticker-name,--sticker-desc,--sticker-tags,--media
Roles / Channels / Members / 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
Events
event list(Discord):--guild-idevent create(Discord):--guild-id,--event-name,--start-time- Optional:
--end-time,--desc,--channel-id,--location,--event-type
- Optional:
Moderation (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- Channels: configured된 아무 channel이나 가능하며,
--channel all로 모든 provider를 대상으로 할 수 있습니다. - Required:
--targets(repeat) - Optional:
--message,--media,--dry-run
- Channels: configured된 아무 channel이나 가능하며,