---
read_when:
    - تكوين مجموعات WhatsApp تحديدًا
    - تغيير أوضاع تفعيل WhatsApp (`mention` مقابل `always`)
    - ضبط مفاتيح جلسات مجموعات WhatsApp أو سياق الرسائل المعلّقة
sidebarTitle: WhatsApp groups
summary: معالجة رسائل مجموعات WhatsApp — التفعيل، وقوائم السماح، والجلسات، وحقن السياق
title: رسائل مجموعات WhatsApp
x-i18n:
    generated_at: "2026-05-06T07:42:31Z"
    model: gpt-5.5
    provider: openai
    source_hash: 489f04ea9f4d0954f77eee4590d609383d5dc987eaaea5eb121b454620a2d0fe
    source_path: channels/group-messages.md
    workflow: 16
---

بالنسبة إلى نموذج المجموعات عبر القنوات (Discord، iMessage، Matrix، Microsoft Teams، Signal، Slack، Telegram، WhatsApp، Zalo)، راجع [المجموعات](/ar/channels/groups). تغطي هذه الصفحة السلوك الخاص بـ WhatsApp فوق ذلك النموذج: التفعيل، قوائم السماح للمجموعات، مفاتيح الجلسات لكل مجموعة، وحقن سياق الرسائل المعلّقة.

الهدف: السماح لـ OpenClaw بالوجود في مجموعات WhatsApp، والاستيقاظ فقط عند مناداته، وإبقاء ذلك الخيط منفصلاً عن جلسة الرسائل المباشرة الشخصية.

<Note>
يُستخدم `agents.list[].groupChat.mentionPatterns` أيضاً بواسطة Telegram وDiscord وSlack وiMessage. لإعدادات الوكلاء المتعددين، اضبطه لكل وكيل، أو استخدم `messages.groupChat.mentionPatterns` كخيار احتياطي عام.
</Note>

## السلوك

- أوضاع التفعيل: `mention` (الافتراضي) أو `always`. يتطلب `mention` مناداة (إشارات @ حقيقية في WhatsApp عبر `mentionedJids`، أو أنماط regex آمنة، أو رقم E.164 الخاص بالبوت في أي مكان داخل النص). يوقظ `always` الوكيل عند كل رسالة، لكن ينبغي أن يرد فقط عندما يستطيع إضافة قيمة مفيدة؛ وإلا فإنه يعيد رمز الصمت الدقيق `NO_REPLY` / `no_reply`. يمكن ضبط القيم الافتراضية في الإعدادات (`channels.whatsapp.groups`) وتجاوزها لكل مجموعة عبر `/activation`. عند ضبط `channels.whatsapp.groups`، فإنه يعمل أيضاً كقائمة سماح للمجموعات (ضمّن `"*"` للسماح للجميع).
- سياسة المجموعة: يتحكم `channels.whatsapp.groupPolicy` في قبول رسائل المجموعات (`open|disabled|allowlist`). يستخدم `allowlist` القيمة `channels.whatsapp.groupAllowFrom` (الخيار الاحتياطي: `channels.whatsapp.allowFrom` الصريح). الافتراضي هو `allowlist` (محظور حتى تضيف المرسلين).
- جلسات لكل مجموعة: تبدو مفاتيح الجلسات مثل `agent:<agentId>:whatsapp:group:<jid>` بحيث تكون أوامر مثل `/verbose on` أو `/trace on` أو `/think high` (المرسلة كرسائل مستقلة) مقيّدة بتلك المجموعة؛ لا تتأثر حالة الرسائل المباشرة الشخصية. يتم تخطي Heartbeats لخيوط المجموعات.
- حقن السياق: تُسبَق رسائل المجموعة **المعلّقة فقط** (الافتراضي 50) التي _لم_ تشغّل عملية تشغيل تحت `[Chat messages since your last reply - for context]`، مع سطر التشغيل تحت `[Current message - respond to this]`. لا يُعاد حقن الرسائل الموجودة بالفعل في الجلسة.
- إظهار المرسل: تنتهي كل دفعة مجموعة الآن بـ `[from: Sender Name (+E164)]` حتى يعرف Pi من المتحدث.
- الرسائل المؤقتة/ذات العرض الواحد: نفك تغليفها قبل استخراج النص/الإشارات، لذلك تظل المناداة داخلها تؤدي إلى التشغيل.
- موجّه النظام للمجموعة: في أول دور من جلسة مجموعة (وكلما غيّر `/activation` الوضع) نحقن لمحة قصيرة في موجّه النظام مثل `You are replying inside the WhatsApp group "<subject>". Group members: Alice (+44...), Bob (+43...), ... Activation: trigger-only ... Address the specific sender noted in the message context.` إذا لم تتوفر البيانات الوصفية، نخبر الوكيل مع ذلك بأنها محادثة مجموعة.

## مثال إعدادات (WhatsApp)

أضف كتلة `groupChat` إلى `~/.openclaw/openclaw.json` حتى تعمل مناداة اسم العرض حتى عندما يزيل WhatsApp علامة `@` المرئية من متن النص:

```json5
{
  channels: {
    whatsapp: {
      groups: {
        "*": { requireMention: true },
      },
    },
  },
  agents: {
    list: [
      {
        id: "main",
        groupChat: {
          historyLimit: 50,
          mentionPatterns: ["@?openclaw", "\\+?15555550123"],
        },
      },
    ],
  },
}
```

ملاحظات:

- أنماط regex غير حساسة لحالة الأحرف وتستخدم ضوابط regex الآمنة نفسها المستخدمة في أسطح regex الأخرى في الإعدادات؛ يتم تجاهل الأنماط غير الصالحة والتكرار المتداخل غير الآمن.
- لا يزال WhatsApp يرسل الإشارات القياسية عبر `mentionedJids` عندما ينقر شخص على جهة الاتصال، لذلك نادراً ما تكون الحاجة إلى خيار الرقم الاحتياطي قائمة، لكنه يشكّل شبكة أمان مفيدة.

### أمر التفعيل (للمالك فقط)

استخدم أمر محادثة المجموعة:

- `/activation mention`
- `/activation always`

لا يمكن تغيير ذلك إلا بواسطة رقم المالك (من `channels.whatsapp.allowFrom`، أو رقم E.164 الخاص بالبوت نفسه عند عدم ضبطه). أرسل `/status` كرسالة مستقلة في المجموعة لرؤية وضع التفعيل الحالي.

## كيفية الاستخدام

1. أضف حساب WhatsApp الخاص بك (الحساب الذي يشغّل OpenClaw) إلى المجموعة.
2. قل `@openclaw …` (أو ضمّن الرقم). لا يمكن تشغيله إلا بواسطة المرسلين الموجودين في قائمة السماح ما لم تضبط `groupPolicy: "open"`.
3. سيتضمن موجّه الوكيل سياق المجموعة الحديث بالإضافة إلى علامة `[from: …]` اللاحقة حتى يتمكن من مخاطبة الشخص الصحيح.
4. تنطبق توجيهات مستوى الجلسة (`/verbose on`، `/trace on`، `/think high`، `/new` أو `/reset`، `/compact`) فقط على جلسة تلك المجموعة؛ أرسلها كرسائل مستقلة حتى تُسجّل. تظل جلسة الرسائل المباشرة الشخصية مستقلة.

## الاختبار / التحقق

- اختبار يدوي سريع:
  - أرسل مناداة `@openclaw` في المجموعة وتأكد من وجود رد يشير إلى اسم المرسل.
  - أرسل مناداة ثانية وتحقق من تضمين كتلة السجل ثم مسحها في الدور التالي.
- تحقق من سجلات Gateway (شغّل باستخدام `--verbose`) لرؤية إدخالات `inbound web message` التي تعرض `from: <groupJid>` واللاحقة `[from: …]`.

## اعتبارات معروفة

- يتم تخطي Heartbeats عمداً للمجموعات لتجنب البث المزعج.
- يستخدم منع الصدى سلسلة الدفعة المجمّعة؛ إذا أرسلت نصاً متطابقاً مرتين من دون إشارات، فلن يحصل على رد إلا الأول.
- ستظهر إدخالات مخزن الجلسات بصيغة `agent:<agentId>:whatsapp:group:<jid>` في مخزن الجلسات (`~/.openclaw/agents/<agentId>/sessions/sessions.json` افتراضياً)؛ ويعني غياب الإدخال فقط أن المجموعة لم تشغّل عملية بعد.
- تتبع مؤشرات الكتابة في المجموعات `agents.defaults.typingMode`. عندما تستخدم الردود المرئية وضع أداة الرسائل فقط الافتراضي، تبدأ الكتابة فوراً افتراضياً حتى يتمكن أعضاء المجموعة من رؤية أن الوكيل يعمل حتى إذا لم يُنشر رد نهائي تلقائي. تظل إعدادات وضع الكتابة الصريحة هي صاحبة الأولوية.

## ذو صلة

- [المجموعات](/ar/channels/groups)
- [توجيه القنوات](/ar/channels/channel-routing)
- [مجموعات البث](/ar/channels/broadcast-groups)
