WhatsApp (web channel)
Holat: WhatsApp Web (Baileys) orqali production-ready. Gateway bog‘langan sessiya(lar)ga egalik qiladi.Pairing
Standart DM siyosati noma’lum yuboruvchilar uchun pairing hisoblanadi.
Channel troubleshooting
Kanallararo diagnostika va tuzatish bo‘yicha yo‘riqnomalar.
Gateway configuration
Kanal konfiguratsiyasining to‘liq andozalari va misollari.
Tezkor sozlash
OpenClaw imkon qadar WhatsApp’ni alohida raqamda ishga tushirishni tavsiya qiladi. (Kanal metama’lumotlari va onboarding jarayoni shu sozlama uchun optimallashtirilgan, ammo shaxsiy raqam bilan sozlash ham qo‘llab-quvvatlanadi.)
Joylashtirish andozalari
Dedicated number (recommended)
Dedicated number (recommended)
Bu eng toza operatsion rejim:
Personal-number fallback
Personal-number fallback
Onboarding shaxsiy raqam rejimini qo‘llab-quvvatlaydi va self-chat uchun mos bazaviy sozlamani yozadi:
WhatsApp Web-only channel scope
WhatsApp Web-only channel scope
Xabar almashish platformasi kanali joriy OpenClaw kanal arxitekturasida WhatsApp Web (
Baileys) asosida ishlaydi.Inbound flow (DM + group)
- WhatsApp events come from
messages.upsert(Baileys). - Inbox listeners are detached on shutdown to avoid accumulating event handlers in tests/restarts.
- Status/broadcast chats are ignored.
- Direct chats use E.164; groups use group JID.
- DM policy:
channels.whatsapp.dmPolicycontrols direct chat access (default:pairing).
Personal-number mode (fallback)
- DM policy
- Group policy + allowlists
- Mentions + /activation
channels.whatsapp.dmPolicy to‘g‘ridan-to‘g‘ri chat kirishini boshqaradi:Shaxsiy raqam va self-chat xulq-atvori
Bog‘langan self raqamallowFrom ichida ham mavjud bo‘lsa, WhatsApp self-chat himoyasi faollashadi:
- self-chat xabarlari uchun o‘qilganlik kvitansiyalarini o‘tkazib yuborish
- aks holda o‘zingizni ping qilishi mumkin bo‘lgan mention-JID avtomatik trigger xulq-atvorini e’tiborsiz qoldirish
- agar
messages.responsePrefixo‘rnatilmagan bo‘lsa, self-chat javoblari standart tarzda[{identity.name}]yoki[openclaw]bilan boshlanadi
Xabarni normallashtirish va kontekst
Inbound envelope + reply context
Inbound envelope + reply context
Kiruvchi WhatsApp xabarlari umumiy inbound envelope ichiga o‘raladi.
Media placeholders and location/contact extraction
Media placeholders and location/contact extraction
Faqat media tarkibli kiruvchi xabarlar quyidagi kabi placeholder’lar bilan normallashtiriladi:
Pending group history injection
Pending group history injection
Guruhlar uchun qayta ishlanmagan xabarlar buferga saqlanishi va bot oxir-oqibat ishga tushganda kontekst sifatida qo‘shilishi mumkin.
Read receipts
Read receipts
Qabul qilingan kiruvchi WhatsApp xabarlari uchun o‘qilganlik tasdiqlari (read receipts) sukut bo‘yicha yoqilgan.
Yetkazib berish, bo‘laklash (chunking) va media
Text chunking
Text chunking
- standart bo‘lak limiti:
channels.whatsapp.textChunkLimit = 4000 channels.whatsapp.chunkMode = "length" | "newline"newlinerejimi avval paragraf chegaralarini (bo‘sh qatorlar) afzal ko‘radi, so‘ng uzunlik bo‘yicha xavfsiz bo‘laklashga o‘tadi
Outbound media behavior
Outbound media behavior
- rasm, video, audio (PTT voice-note) va hujjat payload’larini qo‘llab-quvvatlaydi
audio/oggvoice-note mosligi uchunaudio/ogg; codecs=opusga qayta yoziladi- animatsion GIF ijrosi video yuborishda
gifPlayback: trueorqali qo‘llab-quvvatlanadi - bir nechta media bilan javob yuborilganda caption birinchi media elementiga qo‘llanadi
- media manbasi HTTP(S),
file://yoki lokal yo‘llar bo‘lishi mumkin
Media size limits and fallback behavior
Media size limits and fallback behavior
- kiruvchi media saqlash limiti:
channels.whatsapp.mediaMaxMb(standart50) - avtomatik javoblar uchun chiquvchi media limiti:
agents.defaults.mediaMaxMb(standart5MB) - rasmlar limitlarga moslash uchun avtomatik optimallashtiriladi (o‘lcham/sifat moslashtirish)
- media yuborishda xatolik bo‘lsa, javobni jim tashlab yuborish o‘rniga birinchi element fallback sifatida ogohlantiruvchi matn yuboriladi
Tasdiqlovchi reaksiyalar
WhatsApp kiruvchi xabar qabul qilinganda darhol ack reaksiyalarinichannels.whatsapp.ackReaction orqali qo‘llab-quvvatlaydi.
- kiruvchi xabar qabul qilingach darhol (javobdan oldin) yuboriladi
- xatoliklar log qilinadi, ammo odatiy javob yetkazilishini to‘xtatmaydi
mentionsguruh rejimi mention-trigger qilingan burilishlarda reaksiya bildiradi; guruh aktivatsiyasialwaysbo‘lsa, bu tekshiruvni chetlab o‘tadi- WhatsApp
channels.whatsapp.ackReactiondan foydalanadi (legacymessages.ackReactionbu yerda ishlatilmaydi)
Multi-account va credentials
Account selection and defaults
Account selection and defaults
- akkaunt id’lari
channels.whatsapp.accountsdan olinadi - standart akkaunt tanlovi: agar mavjud bo‘lsa
default, aks holda sozlangan akkaunt id’laridan birinchisi (saralangan) - akkaunt id’lari qidiruv uchun ichki tarzda normallashtiriladi
Credential paths and legacy compatibility
Credential paths and legacy compatibility
- joriy auth yo‘li:
~/.openclaw/credentials/whatsapp/<accountId>/creds.json - zaxira fayl:
creds.json.bak ~/.openclaw/credentials/ichidagi legacy standart auth hanuz tan olinadi/migratsiya qilinadi (default-account oqimlari uchun)
Logout behavior
Logout behavior
openclaw channels logout --channel whatsapp [--account <id>] ushbu akkaunt uchun WhatsApp auth holatini tozalaydi.Vositalar, amallar va config yozuvlari
- Agent vositalari WhatsApp reaksiya amalini (
react) qo‘llab-quvvatlaydi. [[audio_as_voice]]WhatsApp uchun e’tiborga olinmaydi (audio allaqachon ovozli xabar sifatida yuboriladi).channels.whatsapp.actions.reactionschannels.whatsapp.actions.polls
- Channel tomonidan boshlangan config yozuvlari sukut bo‘yicha yoqilgan (
channels.whatsapp.configWrites=falseorqali o‘chiriladi).
Media limitlari + optimallashtirish
Not linked (QR required)
Not linked (QR required)
Alomat: channel holati bog‘lanmagan deb ko‘rsatilmoqda.
Linked but disconnected / reconnect loop
Linked but disconnected / reconnect loop
Alomat: ulangan akkauntda takroriy uzilishlar yoki qayta ulanish urinishlari kuzatilmoqda.
No active listener when sending
No active listener when sending
Maqsadli akkaunt uchun faol gateway listener mavjud bo‘lmasa, chiquvchi yuborishlar darhol xato bilan to‘xtaydi.
Group messages unexpectedly ignored
Group messages unexpectedly ignored
Quyidagi tartibda tekshiring:
Bun runtime warning
Bun runtime warning
WhatsApp gateway ishga tushirish muhiti Node’dan foydalanishi kerak. Bun barqaror WhatsApp/Telegram gateway ishlashi uchun mos emas deb belgilangan.
Konfiguratsiya ma’lumotnomasi havolalari
Bun runtime WhatsApp uchun muhim maydonlar:- access:
dmPolicy,allowFrom,groupPolicy,groupAllowFrom,groups - delivery:
textChunkLimit,chunkMode,mediaMaxMb,sendReadReceipts,ackReaction - multi-account:
accounts.<id>.enabled,accounts.<id>.authDir, account-level overrides - operations:
configWrites,debounceMs,web.enabled,web.heartbeatSeconds,web.reconnect.* - session xatti-harakati:
session.dmScope,historyLimit,dmHistoryLimit,dms.<id>.historyLimit