Wechaty es un SDK conversacional para Chatbot Makers que puede ayudarte a crear un bot en 8 líneas de PHP
"Wechaty es una gran solución, creo que muchos más usuarios la reconocerán".
— @Gcaufy, ingeniero de Tencent, autor de WePY"Es tan útil que quiero llorar".
— @xinbenlv, ingeniero de Google, fundador de HaoShiYou.orgEnlace "La mejor biblioteca de desarrollo de WeChat"
— @Jarvis, ingeniero de Baidu"Wechaty ofrece a los operadores más tiempo para pensar en cómo planificar eventos, retener usuarios y monetizar las empresas" enlace
— @lijiarui, fundador y director ejecutivo de Juzi.BOT."Si conoces js... prueba Wechaty, es fácil de usar".
— @Urinx Uri Lee, autor de WeixinBot (Python)
Ver más en Wiki: Voz del desarrollador
Wechaty es utilizado en muchos proyectos ChatBot por miles de desarrolladores. Si desea hablar con otros desarrolladores, simplemente escanee el siguiente código QR en WeChat con el código secreto php wechaty , únase a nuestra Casa de desarrolladores PHP de Wechaty .
Escanee ahora, porque otros desarrolladores PHP de Wechaty también quieren hablar con usted (código secreto: php wechaty ).
PHP Wechaty Docker admite scripts PHP.
2.1. Ejecutar script php
# for php script
docker run -ti --volume= " $( pwd ) " :/bot --rm phpwechaty/php-wechaty:v1 docker/ding-dong-bot.php
Obtenga más información sobre Wechaty Docker en Wiki:Docker.
WECHATY_PUPPET_SERVICE_TLS_CA_CERT
: se puede sobrescribir con options.tlsRootCert
. Configure el certificado de CA raíz para verificar el servidor o el cliente.Para servidor de marionetas:
Variable de entorno | Opciones | Descripción |
---|---|---|
WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT | options.tls.serverCert | Certificado CA del servidor (datos de cadena) |
WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY | options.tls.serverKey | Clave CA del servidor (datos de cadena) |
WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER | options.tls.disable | Establecer true para deshabilitar el servidor TLS |
Para cliente títere:
Variable de entorno | Opciones | Descripción |
---|---|---|
WECHATY_PUPPET_SERVICE_AUTHORITY | options.authority | Host de descubrimiento de servicios, predeterminado: api.chatie.io |
WECHATY_PUPPET_SERVICE_TLS_CA_CERT | options.caCert | Certificado raíz de la autoridad de certificación, el valor predeterminado es utilizar el certificado raíz de la comunidad Wechaty. |
WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME | options.serverName | Nombre del servidor (coincidencia mástil para SNI) |
WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT | options.tls.disable | Establecer true para deshabilitar el TLS del cliente |
Obtenga más información sobre tls en 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 ();
Ya tenemos Wechaty en TypeScript. No será demasiado difícil traducir TypeScript (TS) a PHP porque Wechaty tiene solo 3000 líneas de código TS, están bien diseñadas y desacopladas por la abstracción wechaty-puppet. Hemos traducido esas 3000 líneas de código TypeScript, casi habremos terminado.
Como ya tenemos un ecosistema de Wechaty en TypeScript, no tendremos que implementar todo en PHP, especialmente, en febrero de 2020, terminamos el módulo de abstracción del servicio @chatie/grpc con la implementación del servicio wechaty-puppet.
El siguiente diagrama muestra que podemos reutilizar casi todo en TypeScript, y lo que debemos hacer es solo el bloque ubicado en la parte superior derecha del diagrama: 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) |
+--------------------------+ +--------------------------+
Hay una clase de 100 líneas llamada Image
encargada de descargar la imagen de WeChat en diferentes tamaños.
Es un gran ejemplo para demostrar cómo traducimos TypeScript a PHP en Wechaty Way:
Si está interesado en la traducción y quiere ver cómo funciona, será un buen comienzo leyendo y comparando esos dos archivos de clase Image
en TypeScript y PHP al mismo tiempo.
WIP...
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 )