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) - يحل
openclaw messageالقناة المحددة إلى Plugin المالكة لها عند وجود--channelأو هدف مسبوق باسم قناة؛ وإلا فإنه يحمّل Plugins القنوات المهيأة لاستنتاج القناة الافتراضية.
--target):
- WhatsApp: E.164، أو JID مجموعة، أو JID قناة/نشرة WhatsApp (
...@newsletter) - Telegram: معرّف المحادثة، أو
@username، أو هدف موضوع منتدى (-1001234567890:topic:42، أو--thread-id 42) - 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: المقبض، أو
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>(القناة أو المستخدم الهدف للإرسال/الاستطلاع/القراءة/إلخ)--targets <name>(يُكرر؛ للبث فقط)--json--dry-run--verbose
سلوك SecretRef
- يحل
openclaw messageSecretRefs القنوات المدعومة قبل تشغيل الإجراء المحدد. - يكون الحل مقيدًا بهدف الإجراء النشط عندما يكون ذلك ممكنًا:
- على نطاق القناة عند تعيين
--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، أو--presentation - اختياري:
--media،--presentation،--delivery،--pin،--reply-to،--thread-id،--gif-playback،--force-document،--silent - حمولات العرض التقديمي المشتركة: يرسل
--presentationكتلًا دلالية (text،context،divider،buttons،select) يعرضها core عبر القدرات المعلنة للقناة المحددة. راجع عرض الرسائل. - تفضيلات التسليم العامة: يقبل
--deliveryتلميحات تسليم مثل{ "pin": true }؛ ويُعد--pinاختصارًا للتسليم المثبت عندما تدعمه القناة. - Telegram + WhatsApp:
--force-document(إرسال الصور وملفات GIF ومقاطع الفيديو كمستندات لتجنب ضغط القناة) - Telegram فقط:
--thread-id(معرّف موضوع المنتدى) - Slack فقط:
--thread-id(طابع زمني للسلسلة؛ يستخدم--reply-toالحقل نفسه) - Telegram + Discord:
--silent - WhatsApp فقط:
--gif-playback؛ تُخاطب قنوات/نشرات WhatsApp باستخدام JID الأصلي@newsletter.
-
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/Matrix/Nextcloud Talk/Signal/Slack/Telegram/WhatsApp
- مطلوب:
--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 - Nextcloud Talk: إضافة التفاعلات فقط؛ يُرفض
--removeبخطأ واضح (راجع /tools/reactions)
-
reactions- القنوات: Discord/Google Chat/Slack/Matrix
- مطلوب:
--message-id، و--target - اختياري:
--limit
-
read- القنوات: Discord/Slack/Matrix
- مطلوب:
--target - اختياري:
--limit،--message-id،--before،--after - Slack فقط: يقرأ
--message-idطابعًا زمنيًا محددًا لرسالة Slack؛ ادمجه مع--thread-idلقراءة رد محدد في سلسلة بدقة. - 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؛ احذف كليهما لمسح المهلة)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
- القنوات: أي قناة مكوّنة؛ استخدم
أمثلة
أرسل ردًا في Discord:presentation نفسها كمكوّنات Discord، أو كتل Slack، أو أزرار Telegram المضمنة، أو خصائص Mattermost، أو بطاقات Teams/Feishu حسب قدرة القناة. راجع عرض الرسائل للاطلاع على العقد الكامل وقواعد الرجوع الاحتياطي.
أرسل حمولة عرض أكثر ثراءً:
web_app قابلة للتحليل، لكن webApp هو
حقل العرض المعتمد.
أرسل بطاقة Teams عبر العرض العام: