---
read_when:
    - การกำหนดค่ากลุ่ม WhatsApp โดยเฉพาะ
    - การเปลี่ยนโหมดการเปิดใช้งาน WhatsApp (`mention` เทียบกับ `always`)
    - การปรับแต่งคีย์เซสชันกลุ่ม WhatsApp หรือบริบทข้อความที่รอดำเนินการ
sidebarTitle: WhatsApp groups
summary: การจัดการข้อความกลุ่ม WhatsApp — การเปิดใช้งาน รายการอนุญาต เซสชัน และการฉีดบริบท
title: ข้อความกลุ่ม WhatsApp
x-i18n:
    generated_at: "2026-06-27T17:10:19Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 790866fd959b43d94b745082f3c90920b81c0a016492e9e164c600663f1b2eee
    source_path: channels/group-messages.md
    workflow: 16
---

สำหรับโมเดลกลุ่มข้ามช่องทาง (Discord, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo) โปรดดู [กลุ่ม](/th/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` (ส่งเป็นข้อความเดี่ยว) จะมีขอบเขตเฉพาะกลุ่มนั้น สถานะข้อความส่วนตัวจะไม่ถูกแตะต้อง Heartbeat จะถูกข้ามสำหรับเธรดกลุ่ม
- การฉีดบริบท: ข้อความกลุ่ม **เฉพาะที่รอดำเนินการ** (ค่าเริ่มต้น 50) ที่ _ไม่ได้_ กระตุ้นการรัน จะถูกเติมนำหน้าภายใต้ `[Chat messages since your last reply - for context]` โดยมีบรรทัดที่กระตุ้นอยู่ภายใต้ `[Current message - respond to this]` ข้อความที่อยู่ในเซสชันแล้วจะไม่ถูกฉีดซ้ำ
- การแสดงผู้ส่ง: ตอนนี้ทุกชุดข้อความกลุ่มจะลงท้ายด้วย `[from: Sender Name (+E164)]` เพื่อให้ OpenClaw รู้ว่าใครกำลังพูด
- ข้อความชั่วคราว/ดูครั้งเดียว: เราแกะข้อความเหล่านั้นก่อนแยกข้อความ/การกล่าวถึง ดังนั้นการเรียกที่อยู่ข้างในยังคงกระตุ้นได้
- พรอมป์ระบบของกลุ่ม: ในเทิร์นแรกของเซสชันกลุ่ม (และทุกครั้งที่ `/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 ไม่สนใจตัวพิมพ์เล็กใหญ่ และใช้แนวป้องกัน safe-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: …]`

## ข้อควรพิจารณาที่ทราบ

- Heartbeat ถูกข้ามสำหรับกลุ่มโดยตั้งใจ เพื่อหลีกเลี่ยงการออกอากาศที่รบกวน
- การระงับเสียงสะท้อนใช้สตริงชุดข้อความที่รวมกัน หากคุณส่งข้อความเหมือนกันสองครั้งโดยไม่มีการกล่าวถึง เฉพาะครั้งแรกเท่านั้นที่จะได้รับการตอบกลับ
- รายการในที่เก็บเซสชันจะปรากฏเป็น `agent:<agentId>:whatsapp:group:<jid>` ในที่เก็บเซสชัน (`~/.openclaw/agents/<agentId>/sessions/sessions.json` โดยค่าเริ่มต้น) รายการที่หายไปหมายความเพียงว่ากลุ่มยังไม่ได้กระตุ้นการรัน
- ตัวบ่งชี้การพิมพ์ในกลุ่มเป็นไปตาม `agents.defaults.typingMode` เมื่อเลือกให้การตอบกลับที่มองเห็นได้อยู่ในโหมดเฉพาะเครื่องมือข้อความ การพิมพ์จะเริ่มทันทีโดยค่าเริ่มต้น เพื่อให้สมาชิกกลุ่มเห็นว่าเอเจนต์กำลังทำงาน แม้จะไม่มีการโพสต์คำตอบสุดท้ายโดยอัตโนมัติก็ตาม คอนฟิกโหมดการพิมพ์ที่ระบุชัดเจนยังคงมีสิทธิเหนือกว่า

## ที่เกี่ยวข้อง

- [กลุ่ม](/th/channels/groups)
- [การกำหนดเส้นทางช่องทาง](/th/channels/channel-routing)
- [กลุ่มออกอากาศ](/th/channels/broadcast-groups)
