CLI commands
संदेश
openclaw message
Discord, Google Chat, iMessage, Matrix, Mattermost (Plugin), Microsoft Teams, Signal, Slack, Telegram और WhatsApp पर संदेश और चैनल कार्रवाइयाँ भेजने के लिए एकल आउटबाउंड कमांड।
openclaw message <subcommand> [flags]चैनल चयन
- यदि एक से अधिक चैनल कॉन्फ़िगर किए गए हैं, तो
--channel <name>आवश्यक है; ठीक एक चैनल कॉन्फ़िगर होने पर वही चैनल डिफ़ॉल्ट होता है। - मान:
discord|googlechat|imessage|matrix|mattermost|msteams|signal|slack|telegram|whatsapp(Mattermost के लिए Plugin आवश्यक है)। - चैनल-उपसर्ग वाले लक्ष्य (उदाहरण के लिए
discord:channel:123) स्पष्ट--channelके बिना स्वामी Plugin का निर्धारण करते हैं।
लक्ष्य प्रारूप (-t, --target)
| चैनल | प्रारूप |
|---|---|
| Discord | channel:<id>, user:<id>, <@id> उल्लेख, या केवल संख्यात्मक आईडी (चैनल आईडी माना जाता है) |
| Google Chat | spaces/<spaceId> या users/<userId> |
| iMessage | हैंडल, chat_id:<id>, chat_guid:<guid>, या chat_identifier:<id> |
| Mattermost (Plugin) | channel:<id>, user:<id>, @username, या केवल आईडी (चैनल माना जाता है) |
| Matrix | @user:server, !room:server, या #alias:server |
| Microsoft Teams | conversation:<id> (19:...@thread.tacv2), केवल वार्तालाप आईडी, या user:<aad-object-id> |
| Signal | +E.164, group:<id>, uuid:<id>, username:<name>/u:<name>, या इनमें से कोई भी signal: उपसर्ग के साथ |
| Slack | channel:<id> या user:<id> (केवल आईडी को चैनल माना जाता है) |
| Telegram | चैट आईडी, @username, या फ़ोरम विषय लक्ष्य: <chatId>:topic:<topicId> (या --thread-id <topicId>) |
E.164, समूह JID (...@g.us), या चैनल/न्यूज़लेटर JID (...@newsletter) |
चैनल नाम लुकअप: डायरेक्टरी वाले प्रदाताओं (Discord/Slack/आदि) के लिए,
Help या #help जैसे नाम डायरेक्टरी कैश के माध्यम से निर्धारित होते हैं; कैश में नाम न मिलने पर,
जहाँ प्रदाता इसका समर्थन करता है, लाइव डायरेक्टरी लुकअप का उपयोग किया जाता है।
सामान्य फ़्लैग
प्रत्येक कार्रवाई इन्हें स्वीकार करती है: --channel <name>, --account <id>, --json,
--dry-run, --verbose। जिन कार्रवाइयों के लिए गंतव्य आवश्यक है, वे
-t, --target <dest> भी स्वीकार करती हैं।
SecretRef निर्धारण
openclaw message कार्रवाई चलाने से पहले चैनल SecretRefs का निर्धारण करता है,
जिसका दायरा यथासंभव सीमित रखा जाता है:
- जब
--channelसेट हो (या उपसर्ग वाले लक्ष्य से अनुमानित हो), तब चैनल-दायरा - जब
--accountभी सेट हो, तब खाता-दायरा - जब दोनों में से कोई भी सेट न हो, तब सभी कॉन्फ़िगर किए गए चैनल
असंबंधित चैनलों के अनिर्धारित SecretRefs किसी लक्षित कार्रवाई को कभी अवरुद्ध नहीं करते; चयनित चैनल/खाते का अनिर्धारित SecretRef कार्रवाई को बंद स्थिति में विफल करता है।
कार्रवाइयाँ
मुख्य
| कार्रवाई | चैनल | आवश्यक | टिप्पणियाँ |
|---|---|---|---|
send |
Discord, Google Chat, iMessage, Matrix, Mattermost (Plugin), Microsoft Teams, Signal, Slack, Telegram, WhatsApp | --target, और --message/--media/--presentation में से एक |
नीचे भेजें देखें। |
poll |
Discord, Matrix, Microsoft Teams, Telegram, WhatsApp | --target, --poll-question, --poll-option (दोहराएँ) |
नीचे मतदान देखें। |
react |
Discord, Matrix, Nextcloud Talk, Signal, Slack, Telegram, WhatsApp | --message-id, --target |
--emoji, --remove (--emoji आवश्यक है; जहाँ समर्थित हो, अपनी प्रतिक्रियाएँ हटाने के लिए इसे छोड़ दें, प्रतिक्रियाएँ देखें)। WhatsApp: --participant, --from-me। Signal समूह प्रतिक्रियाओं के लिए --target-author या --target-author-uuid आवश्यक है। Nextcloud Talk केवल प्रतिक्रियाएँ जोड़ता है; --remove त्रुटि देता है। |
reactions |
Discord, Matrix, Microsoft Teams, Slack | --message-id, --target |
--limit। |
read |
Discord, Matrix, Microsoft Teams, Slack | --target |
--limit, --message-id, --before, --after। Discord: --around, --include-thread। Slack: --message-id किसी विशिष्ट टाइमस्टैम्प को पढ़ता है; सटीक थ्रेड उत्तर के लिए इसे --thread-id के साथ संयोजित करें। |
edit |
Discord, Matrix, Microsoft Teams, Slack, Telegram | --message-id, --message, --target |
Telegram फ़ोरम थ्रेड --thread-id का उपयोग करते हैं। |
delete |
Discord, Matrix, Microsoft Teams, Slack, Telegram | --message-id, --target |
|
pin / unpin |
Discord, Matrix, Microsoft Teams, Slack | --message-id, --target |
unpin भी --pinned-message-id स्वीकार करता है (Microsoft Teams: पिन/पिन-सूची संसाधन आईडी, चैट संदेश आईडी नहीं)। |
pins (सूची) |
Discord, Matrix, Microsoft Teams, Slack | --target |
--limit। |
permissions |
Discord, Matrix | --target |
Matrix: केवल तभी उपलब्ध है जब एन्क्रिप्शन सक्षम हो और सत्यापन कार्रवाइयों की अनुमति हो। |
search |
Discord | --guild-id, --query |
--channel-id, --channel-ids (दोहराएँ), --author-id, --author-ids (दोहराएँ), --limit। |
member info |
Discord, Matrix, Microsoft Teams, Slack | --user-id |
--guild-id (Discord)। |
भेजें
openclaw message send --channel discord \ --target channel:123 --message "hi" --reply-to 456--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 प्लेबैक मानें।
openclaw message send --channel discord \ --target channel:123 --message "चुनें:" \ --presentation '{"blocks":[{"type":"buttons","buttons":[{"label":"स्वीकृत करें","value":"approve","style":"success"},{"label":"अस्वीकार करें","value":"decline","style":"danger"}]}]}'openclaw message send --channel telegram --target @mychat --message "चुनें:" \ --presentation '{"blocks":[{"type":"buttons","buttons":[{"label":"हाँ","value":"cmd:yes"},{"label":"नहीं","value":"cmd:no"}]}]}'Slack समर्थित चार्ट ब्लॉक को मूल रूप से रेंडर करता है; अन्य चैनलों को वही डेटा पठनीय टेक्स्ट के रूप में मिलता है:
openclaw message send --channel slack --target channel:C123 \ --presentation '{"blocks":[{"type":"chart","chartType":"bar","title":"त्रैमासिक राजस्व","categories":["Q1","Q2"],"series":[{"name":"राजस्व","values":[120,145]}],"xLabel":"तिमाही"}]}'Slack स्पष्ट टेबल ब्लॉक को भी मूल रूप से रेंडर करता है। अन्य चैनलों को कैप्शन और प्रत्येक पंक्ति नियतात्मक टेक्स्ट के रूप में मिलती है:
openclaw message send --channel slack --target channel:C123 \ --presentation '{"title":"पाइपलाइन रिपोर्ट","blocks":[{"type":"table","caption":"खुली पाइपलाइन","headers":["खाता","चरण","ARR"],"rows":[["Acme","Won",125000],["Globex","Review",82000]],"rowHeaderColumnIndex":0}]}'Telegram Mini App बटन webApp का उपयोग करते हैं (पुराने
JSON के लिए web_app अब भी पार्स होता है) और केवल उपयोगकर्ता तथा बॉट के बीच निजी चैट में रेंडर होते हैं:
openclaw message send --channel telegram --target 123456789 --message "ऐप खोलें:" \ --presentation '{"blocks":[{"type":"buttons","buttons":[{"label":"लॉन्च करें","webApp":{"url":"https://example.com/app"}}]}]}'openclaw message send --channel telegram --target @mychat \ --media ./diagram.png --force-documentopenclaw message send --channel msteams \ --target conversation:19:abc@thread.tacv2 \ --presentation '{"title":"स्थिति अपडेट","blocks":[{"type":"text","text":"बिल्ड पूरा हुआ"}]}'मतदान
openclaw message poll --channel discord \ --target channel:123 \ --poll-question "नाश्ता?" \ --poll-option Pizza --poll-option Sushi \ --poll-multi --poll-duration-hours 48--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।
openclaw message poll --channel telegram \ --target @mychat \ --poll-question "दोपहर का भोजन?" \ --poll-option Pizza --poll-option Sushi \ --poll-duration-seconds 120 --silentopenclaw message poll --channel msteams \ --target conversation:19:abc@thread.tacv2 \ --poll-question "दोपहर का भोजन?" \ --poll-option Pizza --poll-option Sushiथ्रेड
thread create: चैनल Discord। आवश्यक:--thread-name,--target(चैनल आईडी)। वैकल्पिक:--message-id,--message,--auto-archive-min।thread list: चैनल Discord। आवश्यक:--guild-id। वैकल्पिक:--channel-id,--include-archived,--before,--limit।thread reply: चैनल Discord। आवश्यक:--target(थ्रेड आईडी),--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।
प्रसारण
openclaw message broadcast --targets <target...> [--channel all] [--message <text>] [--media <url>] [--dry-run]एक पेलोड को एकाधिक लक्ष्यों पर भेजता है। --targets स्पेस से अलग की गई
सूची लेता है। प्रत्येक कॉन्फ़िगर किए गए प्रोवाइडर को लक्षित करने के लिए --channel all का उपयोग करें।