Asosiy tarkibga o'tish

Zalo Personal (norasmiy)

Holat: eksperimental. Ushbu integratsiya zca-cli orqali shaxsiy Zalo akkauntini avtomatlashtiradi.
Ogohlantirish: Bu norasmiy integratsiya bo‘lib, akkauntning to‘xtatilishi/bloklanishiga olib kelishi mumkin. O‘zingizning xavfingizga foydalaning.

Plagin talab qilinadi

Zalo Personal plagin sifatida yetkaziladi va asosiy o‘rnatmaga kiritilmagan.
  • CLI orqali o‘rnating: openclaw plugins install @openclaw/zalouser
  • Yoki manba kodidan: openclaw plugins install ./extensions/zalouser
  • Tafsilotlar: Plugins

Talab: zca-cli

Gateway mashinasida PATH ichida zca binari mavjud bo‘lishi kerak.
  • Tekshirish: zca --version
  • Agar mavjud bo‘lmasa, zca-cli’ni o‘rnating (qarang extensions/zalouser/README.md yoki rasmiy zca-cli hujjatlari).

Tezkor sozlash (boshlovchilar uchun)

  1. Plaginni o‘rnating (yuqorida ko‘rsatilgan).
    1. Kirish (QR, Gateway mashinasida):
    • openclaw channels login --channel zalouser
      1. Terminaldagi QR-kodni Zalo mobil ilovasi bilan skaner qiling.
    1. Kanalni yoqing:
5. {
  channels: {
    zalouser: {
      enabled: true,
      dmPolicy: "pairing",
    },
  },
}
    1. Gateway’ni qayta ishga tushiring (yoki onboarding’ni yakunlang).
    1. DM kirishi sukut bo‘yicha pairing; birinchi aloqada pairing kodini tasdiqlang.

8) Bu nima

    1. Kiruvchi xabarlarni qabul qilish uchun zca listen dan foydalanadi.
    1. Javoblarni (matn/media/havola) yuborish uchun zca msg ... dan foydalanadi.
    1. Zalo Bot API mavjud bo‘lmagan “shaxsiy akkaunt” foydalanish holatlari uchun mo‘ljallangan.

12. Nomi

  1. Kanal identifikatori zalouser — bu shaxsiy Zalo foydalanuvchi akkaunti (norasmiy) avtomatlashtirilishini aniq ko‘rsatish uchun. 14. zalo nomini kelajakda ehtimoliy rasmiy Zalo API integratsiyasi uchun zaxirada saqlaymiz.

15. ID’larni topish (katalog)

  1. Peer/guruhlarni va ularning ID’larini aniqlash uchun katalog CLI’dan foydalaning:
17. openclaw directory self --channel zalouser
openclaw directory peers list --channel zalouser --query "name"
openclaw directory groups list --channel zalouser --query "work"

18. Cheklovlar

    1. Chiquvchi matn ~2000 belgiga bo‘linadi (Zalo mijoz cheklovlari).
    1. Streaming sukut bo‘yicha bloklangan.

21. Kirishni boshqarish (DM’lar)

  1. channels.zalouser.dmPolicy qo‘llab-quvvatlaydi: pairing | allowlist | open | disabled (sukut bo‘yicha: pairing).
  2. channels.zalouser.allowFrom foydalanuvchi ID’lari yoki nomlarini qabul qiladi. 24. Mavjud bo‘lsa, ustoz (wizard) nomlarni zca friend find orqali ID’larga aniqlaydi.
  3. Tasdiqlash:
  • openclaw pairing list zalouser
  • openclaw pairing approve zalouser <code>

28. Guruhga kirish (ixtiyoriy)

    1. Sukut bo‘yicha: channels.zalouser.groupPolicy = "open" (guruhlar ruxsat etilgan). 30. Belgilanmagan bo‘lsa, sukutni bekor qilish uchun channels.defaults.groupPolicy dan foydalaning.
    1. Allowlist bilan cheklash:
    • channels.zalouser.groupPolicy = "allowlist"
      1. channels.zalouser.groups (kalitlar — guruh ID’lari yoki nomlari)
    1. Barcha guruhlarni bloklash: channels.zalouser.groupPolicy = "disabled".
    1. Sozlash ustasi guruh allowlist’lari uchun so‘rov berishi mumkin.
    1. Ishga tushishda OpenClaw allowlist’dagi guruh/foydalanuvchi nomlarini ID’larga aniqlaydi va moslikni log qiladi; aniqlanmagan yozuvlar kiritilgandek saqlanadi.
  1. Misol:
38. {
  channels: {
    zalouser: {
      groupPolicy: "allowlist",
      groups: {
        "123456789": { allow: true },
        "Work Chat": { allow: true },
      },
    },
  },
}

39. Ko‘p akkauntli

  1. Akkauntlar zca profillariga mos keladi. 41. Misol:
42. {
  channels: {
    zalouser: {
      enabled: true,
      defaultAccount: "default",
      accounts: {
        work: { enabled: true, profile: "work" },
      },
    },
  },
}

43. Nosozliklarni bartaraf etish

  1. zca topilmadi:
  • Kirish saqlanmayapti:
  1. Kirish saqlanmayapti:
  • openclaw channels status --probe
    1. Qayta kirish: openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser