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 أو group JID
- Telegram: chat id أو
@username - Discord:
channel:<id>أوuser:<id>(أو الإشارة<@id>؛ وتُعامل المعرّفات الرقمية الخام على أنها قنوات) - Google Chat:
spaces/<spaceId>أوusers/<userId> - Slack:
channel:<id>أوuser:<id>(يُقبل معرّف القناة الخام) - Mattermost (plugin):
channel:<id>أوuser:<id>أو@username(تُعامل المعرّفات المجردة على أنها قنوات) - 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: معرّف المحادثة (
19:...@thread.tacv2) أوconversation:<id>أوuser:<aad-object-id>
- بالنسبة إلى المزوّدين المدعومين (Discord/Slack/إلخ)، يتم حل أسماء القنوات مثل
Helpأو#helpعبر ذاكرة التخزين المؤقت للدليل. - عند غياب الإدخال من الذاكرة المؤقتة، سيحاول OpenClaw إجراء بحث مباشر في الدليل عندما يدعم المزوّد ذلك.
الأعلام الشائعة
--channel <name>--account <id>--target <dest>(القناة أو المستخدم المستهدف للإرسال/poll/read/إلخ)--targets <name>(قابل للتكرار؛ للبث فقط)--json--dry-run--verbose
سلوك SecretRef
- يقوم
openclaw messageبحل SecretRefs المدعومة للقنوات قبل تنفيذ الإجراء المحدد. - يتم حصر الحل في هدف الإجراء النشط عندما يكون ذلك ممكنًا:
- على نطاق القناة عند ضبط
--channel(أو عند استنتاجه من الأهداف ذات البادئة مثلdiscord:...) - على نطاق الحساب عند ضبط
--account(أسطح القناة العامة + أسطح الحساب المحدد) - عند حذف
--account، لا يفرض OpenClaw نطاق SecretRef لحسابdefault
- على نطاق القناة عند ضبط
- لا تمنع SecretRefs غير المحلولة في القنوات غير المرتبطة إجراء رسالة مستهدفًا.
- إذا كان SecretRef الخاص بالقناة/الحساب المحدد غير محلول، يفشل الأمر بشكل مغلق لذلك الإجراء.
الإجراءات
الأساسية
-
send- القنوات: WhatsApp/Telegram/Discord/Google Chat/Slack/Mattermost (plugin)/Signal/iMessage/Matrix/Microsoft Teams
- المطلوب:
--target، بالإضافة إلى--messageأو--media - الاختياري:
--mediaو--interactiveو--buttonsو--componentsو--cardو--reply-toو--thread-idو--gif-playbackو--force-documentو--silent - الحمولات التفاعلية المشتركة: يرسل
--interactiveحمولة JSON تفاعلية أصلية للقناة عندما تكون مدعومة - Telegram فقط:
--buttons(يتطلب أن يسمحchannels.telegram.capabilities.inlineButtonsبذلك) - Telegram فقط:
--force-document(إرسال الصور وملفات GIF كمستندات لتجنب ضغط Telegram) - Telegram فقط:
--thread-id(معرّف موضوع المنتدى) - Slack فقط:
--thread-id(الطابع الزمني للسلسلة؛ ويستخدم--reply-toالحقل نفسه) - Discord فقط: حمولة JSON لـ
--components - القنوات التي تدعم Adaptive Card: حمولة JSON لـ
--cardعندما تكون مدعومة - 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(معرّف القناة) - الاختياري:
--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: لا توجد أعلام إضافية
- 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- القنوات: أي قناة مهيأة؛ استخدم
--channel allلاستهداف جميع المزوّدين - المطلوب:
--targets <target...> - الاختياري:
--messageو--mediaو--dry-run
- القنوات: أي قناة مهيأة؛ استخدم