openclaw message
Єдина вихідна команда для надсилання повідомлень і дій каналу
(Discord/Google Chat/iMessage/Matrix/Mattermost (Plugin)/Microsoft Teams/Signal/Slack/Telegram/WhatsApp).
Використання
--channelобов’язковий, якщо налаштовано більше ніж один канал.- Якщо налаштовано рівно один канал, він стає типовим.
- Значення:
discord|googlechat|imessage|matrix|mattermost|msteams|signal|slack|telegram|whatsapp(Mattermost потребує Plugin)
--target):
- WhatsApp: E.164 або JID групи
- Telegram: id чату або
@username - Discord:
channel:<id>абоuser:<id>(або згадка<@id>; необроблені числові id трактуються як канали) - Google Chat:
spaces/<spaceId>абоusers/<userId> - Slack:
channel:<id>абоuser:<id>(необроблений 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: id розмови (
19:...@thread.tacv2) абоconversation:<id>чиuser:<aad-object-id>
- Для підтримуваних провайдерів (Discord/Slack/тощо) назви каналів, як-от
Helpабо#help, розв’язуються через кеш каталогу. - Якщо в кеші немає збігу, OpenClaw спробує виконати live-пошук у каталозі, якщо провайдер це підтримує.
Загальні прапорці
--channel <name>--account <id>--target <dest>(цільовий канал або користувач для send/poll/read/тощо)--targets <name>(повторюється; лише для broadcast)--json--dry-run--verbose
Поведінка SecretRef
openclaw messageрозв’язує підтримувані SecretRef каналу перед виконанням вибраної дії.- Розв’язання, коли це можливо, обмежується ціллю активної дії:
- на рівні каналу, коли задано
--channel(або його виведено з цілей із префіксом на кшталтdiscord:...) - на рівні облікового запису, коли задано
--account(глобальні поверхні каналу + поверхні вибраного облікового запису) - коли
--accountпропущено, OpenClaw не примушує область SecretRef облікового записуdefault
- на рівні каналу, коли задано
- Нерозв’язані SecretRef у не пов’язаних каналах не блокують цільову дію повідомлення.
- Якщо SecretRef вибраного каналу/облікового запису не розв’язано, команда для цієї дії завершується за принципом fail closed.
Дії
Ядро
-
send- Канали: WhatsApp/Telegram/Discord/Google Chat/Slack/Mattermost (Plugin)/Signal/iMessage/Matrix/Microsoft Teams
- Обов’язково:
--target, а також--message,--mediaабо--presentation - Необов’язково:
--media,--presentation,--delivery,--pin,--reply-to,--thread-id,--gif-playback,--force-document,--silent - Спільні корисні навантаження presentation:
--presentationнадсилає семантичні блоки (text,context,divider,buttons,select), які ядро рендерить через оголошені можливості вибраного каналу. Див. Презентація повідомлень. - Узагальнені налаштування доставки:
--deliveryприймає підказки доставки, як-от{ "pin": true };--pin— це скорочення для закріпленої доставки, коли канал це підтримує. - Лише Telegram:
--force-document(надсилати зображення та GIF як документи, щоб уникнути стиснення Telegram) - Лише Telegram:
--thread-id(id теми форуму) - Лише Slack:
--thread-id(timestamp потоку;--reply-toвикористовує те саме поле) - 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 і дозволено дії верифікації
-
search- Канали: Discord
- Обов’язково:
--guild-id,--query - Необов’язково:
--channel-id,--channel-ids(повторюється),--author-id,--author-ids(повторюється),--limit
Потоки
-
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
-
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
Ролі / Канали / Учасники / Голос
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(+--guild-idдля Discord)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
- Канали: будь-який налаштований канал; використовуйте
Приклади
Надіслати відповідь у Discord:presentation у компоненти Discord, блоки Slack, вбудовані кнопки Telegram, props Mattermost або картки Teams/Feishu залежно від можливостей каналу. Повний контракт і правила резервного відображення див. у Презентація повідомлень.
Надіслати розширене корисне навантаження presentation: