Kurulum
openclaw onboard ve openclaw channels add --channel whatsapp, ilk kez seçtiğinizde plugini kurmanızı ister; plugin eksikse openclaw channels login --channel whatsapp aynı kurulum akışını sunar. Geliştirme çalışma kopyaları yerel plugin yolunu kullanır; kararlı/beta kurulumları önce ClawHub’dan @openclaw/whatsapp kurar, başarısız olursa npm’e geri döner. WhatsApp çalışma zamanı, temel OpenClaw npm paketinin dışında sunulduğundan çalışma zamanı bağımlılıkları harici pluginle birlikte kalır. Manuel kurulum:
@openclaw/whatsapp) yalnızca kayıt defteri geri dönüşü için kullanın; tam bir sürümü yalnızca tekrarlanabilir bir kurulum için sabitleyin.
Eşleştirme
Kanal sorunlarını giderme
Gateway yapılandırması
Hızlı kurulum
Erişim politikasını yapılandırın
WhatsApp'ı bağlayın (QR)
Gateway'i başlatın
İlk DM erişim isteğini onaylayın (eşleştirme modu)
Dağıtım kalıpları
Özel numara (önerilen)
Özel numara (önerilen)
- OpenClaw için ayrı WhatsApp kimliği
- daha anlaşılır DM izin listeleri ve yönlendirme sınırları
- kendi kendine sohbet karışıklığı olasılığının daha düşük olması
Kişisel numaraya geri dönüş
Kişisel numaraya geri dönüş
dmPolicy: "allowlist", kendi numaranızı içeren allowFrom, selfChatMode: true. Çalışma zamanındaki kendi kendine sohbet korumaları, bağlı kişisel numarayı ve allowFrom değerini anahtar olarak kullanır.Çalışma zamanı modeli
- Gateway, WhatsApp soketinin ve yeniden bağlanma döngüsünün sahibidir.
- Bir gözetleyici iki sinyali bağımsız olarak izler: ham WhatsApp Web aktarım etkinliği ve uygulama mesajı etkinliği. Sessiz ancak bağlı bir oturum, yalnızca yakın zamanda mesaj gelmediği için yeniden başlatılmaz; yalnızca aktarım çerçeveleri sabit bir dahili süre boyunca (kullanıcı tarafından yapılandırılamaz) gelmeyi durdurduğunda veya uygulama mesajları normal mesaj zaman aşımının 4 katını aşacak kadar sessiz kaldığında yeniden bağlanmayı zorlar. Yakın zamanda etkin olan bir oturum yeniden bağlandıktan hemen sonra bu ilk süre, 4 katlık süre yerine daha kısa olan normal mesaj zaman aşımını kullanır. OpenClaw, Baileys’in bu yeniden bağlanmanın erken aşamasında ilettiği çevrimdışı mesajlara, gelen mesaj kimliği yinelenenleri ayıklama ömrüyle sınırlı olarak otomatik yanıt verebilir; ilk başlatma kısa eski geçmiş korumasını sürdürür.
- Giden gönderimler, hedef hesap için etkin bir WhatsApp dinleyicisi gerektirir; aksi takdirde gönderimler hızla başarısız olur.
- Grup gönderimleri, belirteç mevcut katılımcı meta verileriyle eşleştiğinde
@+<digits>ve@<digits>belirteçleri için (metin ve medya açıklamalarında) LID destekli gruplar dahil olmak üzere yerel bahsetme meta verilerini ekler. - Durum ve yayın sohbetleri (
@status,@broadcast) yok sayılır. - Doğrudan sohbetler DM oturum kurallarını kullanır (
session.dmScope; varsayılanmain, DM’leri aracının ana oturumunda birleştirir). Grup oturumları her JID için yalıtılır (agent:<agentId>:whatsapp:group:<jid>). - WhatsApp Kanalları/Bültenleri, DM semantiği yerine kanal oturumu meta verilerini (
agent:<agentId>:whatsapp:channel:<jid>) kullanarak yerel@newsletterJID’leri aracılığıyla açık giden hedefler olabilir. - WhatsApp Web aktarımı, Gateway ana makinesindeki standart proxy ortam değişkenlerine (
HTTPS_PROXY,HTTP_PROXY,NO_PROXY, küçük harfli çeşitleri) uyar. Kanal başına ayarlar yerine ana makine düzeyinde proxy yapılandırmasını tercih edin.
Mevcut istekte bulunanı MeowCaller ile arayın (deneysel)
Plugin, WhatsApp kaynaklı aracı dönüşlerindewhatsapp_call sunabilir. Mevcut yetkili istekte bulunana WhatsApp sesli araması yapmak ve yanıt verdikten sonra bir OpenClaw TTS mesajı oynatmak için MeowCaller kullanır. Aracın hedef numara parametresi yoktur, bu nedenle bir istem çağrıyı yeniden yönlendiremez. Varsayılan olarak devre dışıdır.
Deneysel aramaları etkinleştirin
actions.calls: true ekleyin ve Gateway’i yeniden başlatın:false olduğunda OpenClaw, whatsapp_call aracını sunmaz.İncelenen MeowCaller CLI'yi kurun
PATH konumunda bir meowcaller yürütülebilir dosyası bekler. MeowCaller PR #7 birleştirilene kadar incelenen dalı derleyin:$HOME/.local/bin öğesinin Gateway hizmetinin PATH konumunda olduğundan emin olun. Bu revizyonda açık pair ve yalnızca gönderime yönelik notify komutları bulunur; notify hiçbir mikrofonu, hoparlörü, video cihazını veya tanılama yakalamasını açmaz. Bunun yerine yukarı akış örnek CLI’sinin play komutunu kullanmayın.MeowCaller bağlı cihazını eşleştirin
whatsapp_call durum eylemi, hesaba özgü durum dizinini ve eşleştirme komutunu bildirir). Varsayılan hesap için:MeowCaller linked device ready için bekleyin. wa-voip.db öğesini gizli tutun; bu, MeowCaller oturumudur. Varsayılan olmayan hesaplar durum eyleminden kendi depo yollarını alır; Windows’ta bunun PowerShell komutunu çalıştırın.TTS'yi yapılandırın ve WhatsApp'tan arama yapın
Call me and say the build finished. gibi bir istek gönderin. Araç, göndereni güvenilir gelen bağlamdan çözümler, geçici bir özel WAV dosyası sentezler, MeowCaller’ı sınırlı bir çağrı süresi boyunca çalıştırır ve ardından ses dosyasını siler. OpenClaw, hesabın deposunu açıkça iletir; yanıtlama/oynatma/kapatma sonrasında sıfır çıkış durumu bekler ve zaman aşımını veya sıfır dışı çıkışı başarısız bir araç çağrısı olarak değerlendirir.Onay istemleri
WhatsApp, yürütme ve plugin onay istemlerini üst düzey onay iletme yapılandırmasıyla denetlenen👍/👎 tepkileri olarak işleyebilir:
approvals.exec ve approvals.plugin birbirinden bağımsızdır; WhatsApp’ı kanal olarak etkinleştirmek yalnızca aktarımı bağlar ve eşleşen onay ailesi etkinleştirilip oraya yönlendirilmedikçe hiçbir şey göndermez. Oturum modu, yalnızca WhatsApp’tan kaynaklanan onaylar için yerel emoji onayları iletir. Hedef modu, açık hedefler için paylaşılan iletme işlem hattını kullanır ve ayrı onaylayıcı DM dağıtımı oluşturmaz.
WhatsApp onay tepkileri, allowFrom (veya "*") içinde açık onaylayıcılar gerektirir. defaultTo, onaylayıcı listesi değil, sıradan varsayılan mesaj hedeflerini ayarlar. Manuel /approve komutları, onay çözümlenmeden önce yine normal WhatsApp gönderen yetkilendirme yolundan geçer.
Soru tepkileri
Gizli olmayan, tek seçimli bir soru ve bir ile dört seçenek içerenask_user istemi için WhatsApp, seçenek etiketlerinin yanında 1️⃣ ile 4️⃣ arasındaki değerleri gösterir. Yanıtlamak için iletilen isteme eşleşen numarayla tepki verin. OpenClaw, numarayı Gateway aracılığıyla kurallı seçeneğe eşler; eski veya yinelenen dokunuşlar yok sayılır. Çok sorulu, çok seçimli ve serbest metin istemleri yalnızca metin yanıtlı olarak kalır. Normal WhatsApp DM/grup kabul kuralları, tepki veren göndereni yetkilendirir.
Plugin kancaları ve gizlilik
Gelen WhatsApp mesajları kişisel içerik, telefon numaraları, grup tanımlayıcıları, gönderen adları ve oturum ilişkilendirme alanları taşıyabilir. WhatsApp, siz etkinleştirmedikçe gelenmessage_received kanca yüklerini pluginlere yayınlamaz:
channels.whatsapp.accounts.<id>.pluginHooks.messageReceived altında tek bir hesapla sınırlayın. Bunu yalnızca gelen WhatsApp içeriği ve tanımlayıcıları konusunda güvendiğiniz pluginler için etkinleştirin.
Erişim denetimi ve etkinleştirme
- DM politikası
- Grup politikası ve izin listeleri
- Bahsetmeler ve /activation
channels.whatsapp.dmPolicy:allowFrom, E.164 biçimli numaraları kabul eder (dahili olarak normalleştirilir). Bu yalnızca DM göndereni için bir erişim denetimi listesidir — grup JID’lerine veya @newsletter kanal JID’lerine açıkça yapılan giden gönderimleri kısıtlamaz.Çoklu hesap geçersiz kılması: channels.whatsapp.accounts.<id>.dmPolicy (ve .allowFrom), ilgili hesap için kanal düzeyindeki varsayılanlardan önceliklidir.Çalışma zamanı notları:- eşleştirmeler kanal izin deposunda kalıcıdır ve yapılandırılmış
allowFromile birleştirilir - zamanlanmış otomasyon ve heartbeat alıcısı yedeği, açık teslimat hedeflerini veya yapılandırılmış
allowFromdeğerini kullanır; DM eşleştirme onayları örtük cron/heartbeat alıcıları değildir - hiçbir izin listesi yapılandırılmamışsa bağlı öz numaraya varsayılan olarak izin verilir
- OpenClaw, giden
fromMeDM’lerini (bağlı cihazdan kendinize gönderdiğiniz mesajları) hiçbir zaman otomatik olarak eşleştirmez
Yapılandırılmış ACP bağlamaları
WhatsApp, üst düzeybindings[] aracılığıyla kalıcı ACP bağlamalarını destekler:
Kişisel numara ve kendi kendine sohbet davranışı
Bağlı öz numaraallowFrom içinde de yer aldığında kendi kendine sohbet güvenlik önlemleri etkinleşir: kendi kendine sohbet etkileşimleri için okundu bilgilerini atlar, kendinize bildirim gönderecek bahsetme JID’si otomatik tetikleme davranışını yok sayar ve kanal/hesap responsePrefix değeri ayarlanmamışsa yanıtları varsayılan olarak [{identity.name}] (veya [openclaw]) değerine yönlendirir.
Mesaj normalleştirme ve bağlam
Gelen zarf ve yanıt bağlamı
Gelen zarf ve yanıt bağlamı
ReplyToId, ReplyToBody, ReplyToSender, gönderen JID’si/E.164) mevcut olduğunda doldurulur. Alıntılanan hedef indirilebilir bir medyaysa OpenClaw bunu normal gelen medya deposu aracılığıyla kaydeder ve MediaPath/MediaType değerlerini sunar; böylece ajan yalnızca <media:image> görmek yerine medyayı doğrudan inceleyebilir.Medya yer tutucuları ve konum/kişi çıkarımı
Medya yer tutucuları ve konum/kişi çıkarımı
<media:image>, <media:video>, <media:audio>, <media:document>, <media:sticker>.Gövde yalnızca <media:audio> olduğunda yetkili grup sesli notları bahsetme kısıtlamasından önce yazıya dökülür; böylece sesli notta bottan bahsedilmesi yanıtı tetikleyebilir. Dökümde hâlâ bottan bahsedilmiyorsa ham yer tutucu yerine bekleyen grup geçmişinde kalır.Konum gövdeleri kısa koordinat metni olarak işlenir. Konum etiketleri/yorumları ve kişi/vCard ayrıntıları, satır içi istem metni olarak değil, çitle çevrili güvenilmeyen meta veriler olarak işlenir.Bekleyen grup geçmişinin eklenmesi
Bekleyen grup geçmişinin eklenmesi
- varsayılan sınır:
50 - yapılandırma:
channels.whatsapp.historyLimit, geri dönüşmessages.groupChat.historyLimit 0devre dışı bırakır
[Chat messages since your last reply - for context] ve [Current message - respond to this].Okundu bilgileri
Okundu bilgileri
channels.whatsapp.accounts.<id>.sendReadReceipts. Kendi kendine sohbet etkileşimleri, genel olarak etkin olsa bile okundu bilgilerini atlar.Teslimat, parçalara ayırma ve medya
Metni parçalara ayırma
Metni parçalara ayırma
- varsayılan parça sınırı:
channels.whatsapp.textChunkLimit = 4000 channels.whatsapp.streaming.chunkMode = "length" | "newline";newlineparagraf sınırlarını (boş satırları) tercih eder, ardından uzunluk açısından güvenli parçalara ayırmaya geri döner
Giden medya davranışı
Giden medya davranışı
- görsel, video, ses (PTT sesli notu) ve belge yüklerini destekler
- ses,
ptt: trueile Baileysaudioyükü olarak gönderilir ve bas-konuş sesli notu şeklinde işlenir; TTS sesli not çıktısının sağlayıcının kaynak biçiminden bağımsız olarak bu yolda kalması içinaudioAsVoiceyanıt yüklerinde korunur - yerel Ogg/Opus sesi
audio/ogg; codecs=opusolarak gönderilir; diğer her şey (Microsoft Edge TTS MP3/WebM çıktısı dâhil), PTT teslimatından önceffmpegile 48 kHz mono Ogg/Opus biçimine dönüştürülür /tts latest, en son asistan yanıtını tek bir sesli not olarak gönderir ve aynı yanıtın yinelenen gönderimlerini engeller;/tts chat on|off|defaultmevcut sohbet için otomatik TTS’yi denetler- videolarda
gifPlayback: truegönderilmesi animasyonlu GIF oynatmayı etkinleştirir forceDocument/asDocument, WhatsApp’ın medya sıkıştırmasını önlemek için giden görselleri, GIF’leri ve videoları Baileys belge yükü üzerinden yönlendirerek çözümlenen dosya adını ve MIME türünü korur- altyazılar, çok medyalı bir yanıttaki ilk medya öğesine uygulanır; PTT sesli notları istisnadır: ses önce altyazısız gönderilir, ardından altyazı ayrı bir metin mesajı olarak gönderilir (WhatsApp istemcileri sesli not altyazılarını tutarlı biçimde işlemez)
- medya kaynağı HTTP(S),
file://veya yerel bir yol olabilir
Medya boyutu sınırları ve geri dönüş davranışı
Medya boyutu sınırları ve geri dönüş davranışı
- gelen kaydetme üst sınırı ve giden gönderme üst sınırı:
channels.whatsapp.mediaMaxMb(varsayılan50) - hesap başına geçersiz kılma:
channels.whatsapp.accounts.<id>.mediaMaxMb forceDocument/asDocumentbelge teslimatı istemediği sürece görseller sınırlara sığmak için otomatik olarak optimize edilir (yeniden boyutlandırma/kalite taraması)- medya gönderimi başarısız olduğunda ilk öğe geri dönüşü, yanıtı sessizce bırakmak yerine bir metin uyarısı gönderir
Yanıt alıntılama
channels.whatsapp.replyToMode, yerel yanıt alıntılamayı denetler (giden yanıtlar gelen mesajı görünür şekilde alıntılar):
channels.whatsapp.accounts.<id>.replyToMode.
Tepki düzeyi
channels.whatsapp.reactionLevel, ajanın emoji tepkilerini ne ölçüde kullandığını denetler:
channels.whatsapp.accounts.<id>.reactionLevel.
Alındı onayı tepkileri
channels.whatsapp.ackReaction, gelen ileti alındığında reactionLevel tarafından kısıtlanan anlık bir tepki gönderir ("off" olduğunda engellenir):
ackReaction, emoji olmadan mevcutsa WhatsApp, yönlendirilen ajanın kimlik emojisini kullanır ve mevcut değilse ”👀” değerine geri döner (onay tepkisi olmaması için ackReaction değerini atlayın veya emoji: "" olarak ayarlayın); hatalar günlüğe kaydedilir ancak yanıt teslimatını engellemez; grup modu mentions yalnızca bahsetmeyle tetiklenen etkileşimlerde tepki verirken grup etkinleştirmesi always bu denetimi atlar; WhatsApp yalnızca channels.whatsapp.ackReaction kullanır (eski messages.ackReaction burada geçerli değildir).
Yaşam döngüsü durumu tepkileri
WhatsApp’ın bir etkileşim sırasında statik bir alındı emojisi bırakmak yerine onay tepkisini değiştirmesini ve kuyrukta, düşünüyor, araç etkinliği, Compaction, tamamlandı ve hata gibi durumlar arasında geçiş yapmasını sağlamak içinmessages.statusReactions.enabled: true değerini ayarlayın:
channels.whatsapp.ackReaction, doğrudan mesajlar ve gruplar için uygunluğu denetlemeye devam eder; kuyrukta durumu, düz onay tepkileriyle aynı etkin emojiyi kullanır; WhatsApp’ta mesaj başına bir bot tepki yuvası bulunur, bu nedenle yaşam döngüsü güncellemeleri mevcut tepkiyi yerinde değiştirir ve son tamamlandı/hata durumundan sonra onay tepkisini geri yükler.
Çoklu hesap ve kimlik bilgileri
Hesap seçimi ve varsayılanlar
Hesap seçimi ve varsayılanlar
channels.whatsapp.accounts kaynağından gelir. Varsa varsayılan hesap seçimi default, aksi takdirde yapılandırılmış ilk hesap kimliğidir (alfabetik olarak sıralanır). Hesap kimlikleri, arama için dahili olarak normalleştirilir.Kimlik bilgisi yolları ve eski sürüm uyumluluğu
Kimlik bilgisi yolları ve eski sürüm uyumluluğu
- geçerli kimlik doğrulama yolu:
~/.openclaw/credentials/whatsapp/<accountId>/creds.json(yedek:creds.json.bak) ~/.openclaw/credentials/içindeki eski varsayılan kimlik doğrulama, varsayılan hesap akışları için hâlâ tanınır/taşınır
Oturumu kapatma davranışı
Oturumu kapatma davranışı
openclaw channels logout --channel whatsapp [--account <id>], söz konusu hesabın WhatsApp kimlik doğrulama durumunu temizler. Bir gateway erişilebilir olduğunda oturum kapatma işlemi önce o hesabın canlı dinleyicisini durdurur; böylece bağlı oturum, bir sonraki yeniden başlatmadan önce mesaj almayı bırakır. openclaw channels remove --channel whatsapp ayrıca hesap yapılandırmasını devre dışı bırakmadan veya silmeden önce canlı dinleyiciyi durdurur.Eski kimlik doğrulama dizinlerinde Baileys kimlik doğrulama dosyaları kaldırılırken oauth.json korunur.Araçlar, eylemler ve yapılandırma yazma işlemleri
- Agent araç desteği, WhatsApp tepki eylemini (
react) içerir. - Eylem geçitleri:
channels.whatsapp.actions.reactions,channels.whatsapp.actions.polls(mevcut eylemlerin varsayılanıtrue),channels.whatsapp.actions.calls(varsayılanfalse, yukarıdaki MeowCaller bölümüne bakın). - Kanal tarafından başlatılan yapılandırma yazma işlemleri varsayılan olarak etkindir;
channels.whatsapp.configWrites: falsearacılığıyla devre dışı bırakın.
Sorun giderme
Bağlı değil (QR gerekli)
Bağlı değil (QR gerekli)
Bağlı ancak bağlantı kesilmiş / yeniden bağlanma döngüsü
Bağlı ancak bağlantı kesilmiş / yeniden bağlanma döngüsü
~/.openclaw/logs/whatsapp-health.log, Gateway inactive diyorsa ancak openclaw gateway status ve openclaw channels status --probe sağlıklı görünüyorsa openclaw doctor komutunu çalıştırın. Linux’ta doctor, kullanımdan kaldırılan ~/.openclaw/bin/ensure-whatsapp.sh betiğini çağıran eski crontab girdileri hakkında uyarır; bu girdileri crontab -e ile kaldırın — cron, systemd kullanıcı veri yolu ortamından yoksun olabilir ve bu eski betiğin gateway durumunu yanlış bildirmesine neden olabilir.Proxy arkasında QR ile oturum açma zaman aşımına uğruyor
Proxy arkasında QR ile oturum açma zaman aşımına uğruyor
openclaw channels login --channel whatsapp, kullanılabilir bir QR göstermeden önce status=408 Request Time-out veya bir TLS soket bağlantı kesintisiyle başarısız olur.WhatsApp Web ile oturum açma, gateway ana makinesinin standart proxy ortamını (HTTPS_PROXY, HTTP_PROXY, küçük harfli türevleri, NO_PROXY) kullanır. Gateway işleminin proxy ortam değişkenlerini devraldığını ve NO_PROXY değerinin mmg.whatsapp.net ile eşleşmediğini doğrulayın.Gönderim sırasında etkin dinleyici yok
Gönderim sırasında etkin dinleyici yok
Yanıt dökümde görünüyor ancak WhatsApp'ta görünmüyor
Yanıt dökümde görünüyor ancak WhatsApp'ta görünmüyor
auto-reply delivery failed veya auto-reply was not accepted by WhatsApp provider ifadelerini denetleyin.Grup mesajları beklenmedik şekilde yok sayılıyor
Grup mesajları beklenmedik şekilde yok sayılıyor
groupPolicy, groupAllowFrom/allowFrom, groups izin listesi girdileri, bahsetme geçidi (requireMention + bahsetme kalıpları) ve openclaw.json içindeki yinelenen anahtarlar (JSON5’te sonraki girdiler öncekileri geçersiz kılar — kapsam başına yalnızca bir groupPolicy tutun).channels.whatsapp.groups mevcutsa WhatsApp diğer gruplardan gelen mesajları yine de gözlemleyebilir, ancak OpenClaw bunları oturum yönlendirmesinden önce bırakır. Grup JID’sini channels.whatsapp.groups öğesine ekleyin veya gönderen yetkilendirmesini groupPolicy/groupAllowFrom denetimi altında tutarken tüm grupları kabul etmek için groups["*"] ekleyin.Bun çalışma zamanı uyarısı
Bun çalışma zamanı uyarısı
node:sqlite API’sini sağlamaz ve doctor eski Bun hizmetlerini Node’a taşır.Sistem istemleri
WhatsApp,groups ve direct eşlemeleri aracılığıyla gruplar ve doğrudan sohbetler için Telegram tarzı sistem istemlerini destekler.
Grup mesajlarının çözümlenmesi: Önce etkin groups eşlemesi belirlenir — hesap kendi groups anahtarını herhangi bir şekilde tanımlıyorsa kök groups eşlemesini tamamen değiştirir (derin birleştirme yapılmaz). Ardından istem araması, ortaya çıkan bu tek eşleme üzerinde çalışır:
- Gruba özgü istem (
groups["<groupId>"].systemPrompt): grup girdisi mevcut vesystemPromptanahtarı tanımlı olduğunda kullanılır. Boş bir dize ("") joker karakteri bastırır ve hiçbir istem uygulamaz. - Grup joker karakteri istemi (
groups["*"].systemPrompt): belirli grup girdisi mevcut olmadığında veyasystemPromptanahtarı olmadan mevcut olduğunda kullanılır.
direct eşlemesi ve direct["*"] üzerinde aynı kalıbı izler.
dms, DM başına hafif geçmiş geçersiz kılma bölümü (dms.<id>.historyLimit) olarak kalır. İstem geçersiz kılmaları direct altında bulunur.groups/direct anahtarı kök eşlemenin yerini alır. Bu, yanlışlıkla boş bırakılmış bir groups: {} için tek hesaplı bir güvenlik ağına sahip olan, yukarıda açıklanan grup üyeliği izin listesi denetiminden farklıdır.groups değerini bastırır (kendi groups değeri olmayan hesaplarda bile). WhatsApp bu korumayı uygulamaz — kök groups/direct, hesap sayısından bağımsız olarak kendi geçersiz kılması bulunmayan her hesap tarafından devralınır. Çok hesaplı bir WhatsApp kurulumunda hesap başına istemler istiyorsanız tam eşlemeyi her hesabın altında açıkça tanımlayın.
Önemli davranış:
channels.whatsapp.groupshem grup başına yapılandırma eşlemesi hem de sohbet düzeyindeki grup izin listesidir. Kök veya hesap kapsamındagroups["*"], söz konusu kapsam için “tüm gruplar kabul edilir” anlamına gelir.- Yalnızca söz konusu kapsamın tüm grupları kabul etmesini zaten istiyorsanız bir
systemPromptjoker karakteri ekleyin. Yalnızca sabit bir grup kimliği kümesini uygun tutmak içingroups["*"]kullanmak yerine istemi açıkça izin verilen her girdide tekrarlayın. - Grup kabulü ve gönderen yetkilendirmesi ayrı denetimlerdir.
groups["*"], hangi grupların grup işlemeye ulaşacağını genişletir; bu gruplardaki her gönderene yetki vermez — bu işlemgroupPolicy/groupAllowFromtarafından denetlenmeye devam eder. channels.whatsapp.direct, DM’ler için eşdeğer bir yan etkiye sahip değildir:direct["*"], yalnızca bir DMdmPolicyile birlikteallowFromveya eşleştirme deposu kuralları tarafından zaten kabul edildikten sonra varsayılan bir yapılandırma sağlar.