Wechaty عبارة عن SDK للمحادثة لصانعي Chatbot يمكنها مساعدتك في إنشاء روبوت في 8 أسطر من PHP
"يعد Wechaty حلاً رائعًا، وأعتقد أنه سيكون هناك عدد أكبر بكثير من المستخدمين الذين يتعرفون عليه."
— @Gcaufy، مهندس Tencent، مؤلف كتاب WePY"إنه مفيد جدًا لدرجة أنني أريد البكاء."
- @xinbenlv، مهندس Google، مؤسس HaoShiYou.orgرابط "أفضل مكتبة تطوير WeChat".
- @ جارفيس، مهندس بايدورابط "Wechaty يمنح المشغلين مزيدًا من الوقت للتفكير في كيفية تخطيط الأحداث، والاحتفاظ بالمستخدمين، وتحقيق الدخل من الشركات".
— @lijiarui، المؤسس والرئيس التنفيذي لشركة Juzi.BOT."إذا كنت تعرف js... جرب Wechaty، فهو سهل الاستخدام."
— @Urinx Uri Lee، مؤلف WeixinBot(Python)
شاهد المزيد على ويكي: صوت المطور
يتم استخدام Wechaty في العديد من مشاريع ChatBot بواسطة الآلاف من المطورين. إذا كنت تريد التحدث مع مطورين آخرين، فما عليك سوى مسح رمز الاستجابة السريعة التالي في WeChat باستخدام الرمز السري php wechaty ، وانضم إلى صفحة مطوري Wechaty PHP الخاصة بنا.
قم بالمسح الآن، لأن مطوري Wechaty PHP الآخرين يريدون التحدث معك أيضًا (الرمز السري: php wechaty )
PHP Wechaty Docker يدعم PHP Script.
2.1. تشغيل سكريبت PHP
# for php script
docker run -ti --volume= " $( pwd ) " :/bot --rm phpwechaty/php-wechaty:v1 docker/ding-dong-bot.php
تعرف على المزيد حول Wechaty Docker على Wiki:Docker.
WECHATY_PUPPET_SERVICE_TLS_CA_CERT
: يمكن الكتابة فوقها بواسطة options.tlsRootCert
. قم بتعيين Root CA Cert للتحقق من الخادم أو العميل.لخادم الدمية:
متغير البيئة | خيارات | وصف |
---|---|---|
WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT | options.tls.serverCert | شهادة CA للخادم (بيانات السلسلة) |
WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY | options.tls.serverKey | مفتاح CA للخادم (بيانات السلسلة) |
WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER | options.tls.disable | اضبط على true لتعطيل خادم TLS |
للعميل الدمية:
متغير البيئة | خيارات | وصف |
---|---|---|
WECHATY_PUPPET_SERVICE_AUTHORITY | options.authority | مضيف اكتشاف الخدمة، الافتراضي: api.chatie.io |
WECHATY_PUPPET_SERVICE_TLS_CA_CERT | options.caCert | شهادة الجذر لهيئة التصديق، الافتراضي هو استخدام شهادة الجذر لمجتمع Wechaty |
WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME | options.serverName | اسم الخادم (تطابق الصاري لـ SNI) |
WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT | options.tls.disable | اضبط على true لتعطيل عميل TLS |
تعرف على المزيد حول TLS على https://github.com/wechaty/puppet-service
$ wechaty = IO Github Wechaty Wechaty :: getInstance ( $ token , $ endPoint );
$ wechaty -> onScan ( function ( $ qrcode , $ status , $ data ) {
$ qr = IO Github Wechaty Util QrcodeUtils :: getQr ( $ qrcode );
echo " $ qr nn Online Image: https://wechaty.github.io/qrcode/ $ qrcode n" ;
})-> onLogin ( function ( IO Github Wechaty User ContactSelf $ user ) {
})-> onMessage ( function ( IO Github Wechaty User Message $ message ) {
$ message -> say ( " hello from PHP7.4 " );
})-> start ();
لدينا بالفعل Wechaty في TypeScript، ولن يكون من الصعب جدًا ترجمة TypeScript(TS) إلى PHP لأن wechaty يحتوي على 3000 سطر فقط من كود TS، وهي مصممة جيدًا ومفصولة عن طريق تجريد دمية wechaty لقد قمنا بترجمة هذه الأسطر الثلاثة آلاف من كود TypeScript، وسننتهي تقريبًا.
نظرًا لأن لدينا بالفعل نظامًا بيئيًا لـ Wechaty في TypeScript، لذلك لن نضطر إلى تنفيذ كل شيء في PHP، خاصة، في فبراير 2020، انتهينا من وحدة تجريد خدمة @chatie/grpc مع تنفيذ خدمة wechaty-puppet-service.
يوضح الرسم البياني التالي أنه يمكننا إعادة استخدام كل شيء تقريبًا في TypeScript، وما يتعين علينا القيام به هو فقط الكتلة الموجودة في أعلى يمين الرسم التخطيطي: Wechaty (PHP)
.
+--------------------------+ +--------------------------+
| | | |
| Wechaty (TypeScript) | | Wechaty (PHP) |
| | | |
+--------------------------+ +--------------------------+
+-------------------------------------------------------+
| Wechaty Puppet Service |
| |
| (wechaty-puppet-service) |
+-------------------------------------------------------+
+--------------------- @chatie/grpc ----------------------+
+-------------------------------------------------------+
| Wechaty Puppet Abstract |
| |
| (wechaty-puppet) |
+-------------------------------------------------------+
+--------------------------+ +--------------------------+
| Pad Protocol | | Web Protocol |
| | | |
| wechaty-puppet-padplus | |(wechaty-puppet-puppeteer)|
+--------------------------+ +--------------------------+
+--------------------------+ +--------------------------+
| Windows Protocol | | Mac Protocol |
| | | |
| (wechaty-puppet-windows) | | (wechaty-puppet-macpro) |
+--------------------------+ +--------------------------+
هناك فئة مكونة من 100 سطر تسمى Image
مسؤولة عن تنزيل صورة WeChat بأحجام مختلفة.
إنه مثال رائع لتوضيح كيفية ترجمة TypeScript إلى PHP بطريقة Wechaty:
إذا كنت مهتمًا بالترجمة وترغب في الاطلاع على كيفية عملها، فستكون بداية جيدة من قراءة ومقارنة هذين الملفين من فئة Image
في TypeScript وPHP في نفس الوقت.
قيد التنفيذ...
docker build -t php-wechaty:v1 .
docker run -ti --volume= " $( pwd ) " :/bot --rm php-wechaty:v1 docker/ding-dong-bot.php
pecl install grpc
pecl install protobuf
pecl install yac
# php make sure is 7.4+
sudo yum install php-pecl-grpc
sudo yum install php-pecl-protobuf
sudo yum install php-pecl-yac
sudo yum install php-xml
# php74
sudo yum install php74-php-pecl-grpc
sudo yum install php74-php-pecl-protobuf
sudo yum install php74-php-pecl-yac
sudo yum install php74-php-xml
# php[x]
sudo yum install php[x]-php-pecl-grpc
sudo yum install php[x]-php-pecl-protobuf
sudo yum install php[x]-php-pecl-yac
sudo yum install php[x]-php-xml
yac.enable=1
yac.enable_cli=1
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
# https://packagist.org/packages/wechaty/php-wechaty
composer require wechaty/php-wechaty
php examples/bot.php
[ ![ Wechaty in PHP ] ( https://img.shields.io/badge/Wechaty-PHP-7de )] ( https://github.com/wechaty/php-wechaty )