Zalo Personal (resmi olmayan)
Durum: deneysel. Bu entegrasyon, OpenClaw içinde yerelzca-js aracılığıyla bir kişisel Zalo hesabını otomatikleştirir.
Uyarı: Bu resmi olmayan bir entegrasyondur ve hesabın askıya alınmasına/banlanmasına yol açabilir. Riski size aittir.
Paketlenmiş eklenti
Zalo Personal, mevcut OpenClaw sürümlerinde paketlenmiş bir eklenti olarak gelir; bu nedenle normal paketlenmiş derlemelerde ayrı bir kurulum gerekmez. Daha eski bir derleme veya Zalo Personal’ı içermeyen özel bir kurulum kullanıyorsanız, elle yükleyin:- CLI ile kurun:
openclaw plugins install @openclaw/zalouser - Ya da kaynak kod checkout’undan:
openclaw plugins install ./path/to/local/zalouser-plugin - Ayrıntılar: Plugins
zca/openzca CLI ikili dosyası gerekmez.
Hızlı kurulum (başlangıç seviyesi)
- Zalo Personal eklentisinin kullanılabilir olduğundan emin olun.
- Mevcut paketlenmiş OpenClaw sürümleri bunu zaten içerir.
- Eski/özel kurulumlar bunu yukarıdaki komutlarla elle ekleyebilir.
- Giriş yapın (QR, Gateway makinesinde):
openclaw channels login --channel zalouser- QR kodunu Zalo mobil uygulamasıyla tarayın.
- Kanalı etkinleştirin:
- Gateway’i yeniden başlatın (veya kurulumu tamamlayın).
- DM erişimi varsayılan olarak eşleme kullanır; ilk temasta eşleme kodunu onaylayın.
Nedir
- Tamamen işlem içinde
zca-jsaracılığıyla çalışır. - Gelen mesajları almak için yerel olay dinleyicilerini kullanır.
- Yanıtları doğrudan JS API üzerinden gönderir (metin/medya/bağlantı).
- Zalo Bot API’nin mevcut olmadığı “kişisel hesap” kullanım senaryoları için tasarlanmıştır.
Adlandırma
Kanal kimliği, bunun kişisel bir Zalo kullanıcı hesabını (resmi olmayan) otomatikleştirdiğini açıkça belirtmek içinzalouser olarak ayarlanmıştır. zalo adını, gelecekteki olası resmi Zalo API entegrasyonu için saklı tutuyoruz.
Kimlikleri bulma (dizin)
Eşleri/grupları ve kimliklerini keşfetmek için dizin CLI’sini kullanın:Sınırlar
- Giden metin yaklaşık 2000 karaktere bölünür (Zalo istemci sınırları).
- Streaming varsayılan olarak engellenir.
Erişim denetimi (DM’ler)
channels.zalouser.dmPolicy şunları destekler: pairing | allowlist | open | disabled (varsayılan: pairing).
channels.zalouser.allowFrom, kullanıcı kimliklerini veya adlarını kabul eder. Kurulum sırasında adlar, eklentinin işlem içi kişi araması kullanılarak kimliklere çözümlenir.
Şununla onaylayın:
openclaw pairing list zalouseropenclaw pairing approve zalouser <code>
Grup erişimi (isteğe bağlı)
- Varsayılan:
channels.zalouser.groupPolicy = "open"(gruplara izin verilir). Ayarlanmamışsa varsayılanı geçersiz kılmak içinchannels.defaults.groupPolicykullanın. - Bir izin listesiyle kısıtlamak için:
channels.zalouser.groupPolicy = "allowlist"channels.zalouser.groups(anahtarlar kararlı grup kimlikleri olmalıdır; mümkün olduğunda adlar başlangıçta kimliklere çözümlenir)channels.zalouser.groupAllowFrom(izin verilen gruplarda hangi gönderenlerin botu tetikleyebileceğini denetler)
- Tüm grupları engellemek için:
channels.zalouser.groupPolicy = "disabled". - Yapılandırma sihirbazı grup izin listelerini sorabilir.
- Başlangıçta OpenClaw, izin listelerindeki grup/kullanıcı adlarını kimliklere çözümler ve eşlemeyi günlüğe yazar.
- Grup izin listesi eşleştirmesi varsayılan olarak yalnızca kimlik üzerinden yapılır. Çözümlenmemiş adlar,
channels.zalouser.dangerouslyAllowNameMatching: trueetkin değilse yetkilendirme için yok sayılır. channels.zalouser.dangerouslyAllowNameMatching: true, değişebilir grup adı eşleştirmesini yeniden etkinleştiren son çare uyumluluk modudur.groupAllowFromayarlanmamışsa, çalışma zamanı grup gönderen denetimleri içinallowFromdeğerine geri döner.- Gönderen denetimleri hem normal grup mesajları hem de kontrol komutları için geçerlidir (örneğin
/new,/reset).
Grup bahsetme geçidi
channels.zalouser.groups.<group>.requireMention, grup yanıtlarının bahsetme gerektirip gerektirmediğini denetler.- Çözümleme sırası: tam grup kimliği/adı -> normalize edilmiş grup slug’ı ->
*-> varsayılan (true). - Bu hem izin listesine alınmış gruplar hem de açık grup modu için geçerlidir.
- Yetkili kontrol komutları (örneğin
/new) bahsetme geçidini atlayabilir. - Bir grup mesajı, bahsetme gerektiği için atlandığında OpenClaw bunu bekleyen grup geçmişi olarak saklar ve bir sonraki işlenen grup mesajına ekler.
- Grup geçmişi sınırı varsayılan olarak
messages.groupChat.historyLimitdeğeridir (geri dönüş:50). Hesap başına geçersiz kılmak içinchannels.zalouser.historyLimitkullanabilirsiniz.
Çoklu hesap
Hesaplar, OpenClaw durumundazalouser profillerine eşlenir. Örnek:
Yazıyor, tepkiler ve teslim alındı bildirimleri
- OpenClaw, bir yanıt göndermeden önce bir yazıyor olayı gönderir (best-effort).
- Kanal eylemlerinde
zalouseriçinreactmesaj tepki eylemi desteklenir.- Bir mesajdan belirli bir tepki emojisini kaldırmak için
remove: truekullanın. - Tepki semantiği: Reactions
- Bir mesajdan belirli bir tepki emojisini kaldırmak için
- Olay meta verisi içeren gelen mesajlarda OpenClaw, teslim edildi + görüldü bildirimleri gönderir (best-effort).
Sorun giderme
Giriş kalıcı olmuyor:openclaw channels status --probe- Yeniden giriş yapın:
openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser
allowFrom/groupAllowFrom/groupsiçinde sayısal kimlikler veya tam arkadaş/grup adları kullanın.
- Eski harici
zcasüreci varsayımlarını kaldırın. - Kanal artık harici CLI ikili dosyaları olmadan tamamen OpenClaw içinde çalışır.
İlgili
- Channels Overview — desteklenen tüm kanallar
- Pairing — DM kimlik doğrulaması ve eşleme akışı
- Groups — grup sohbeti davranışı ve bahsetme geçidi
- Channel Routing — mesajlar için oturum yönlendirmesi
- Security — erişim modeli ve sağlamlaştırma