Wechaty é um SDK conversacional para Chatbot Makers que pode ajudá-lo a criar um bot em 8 linhas de PHP
"Wechaty é uma ótima solução, acredito que muito mais usuários o reconheceriam."
- @Gcaufy, engenheiro da Tencent, autor de WePY“É tão útil que tenho vontade de chorar.”
— @xinbenlv, engenheiro do Google, fundador da HaoShiYou.orgLink "A melhor biblioteca de desenvolvimento WeChat"
- @Jarvis, engenheiro do Baidu"Wechaty dá às operadoras mais tempo para pensar em como planejar eventos, reter usuários e monetizar negócios" link
— @lijiarui, fundador e CEO da Juzi.BOT."Se você conhece js... experimente o Wechaty, é fácil de usar."
- @Urinx Uri Lee, autor de WeixinBot (Python)
Veja mais em Wiki:Voice Of Developer
Wechaty é usado em muitos projetos ChatBot por milhares de desenvolvedores. Se você quiser conversar com outros desenvolvedores, basta escanear o seguinte código QR no WeChat com o código secreto php wechaty , junte-se à nossa página inicial dos desenvolvedores Wechaty PHP .
Digitalize agora, porque outros desenvolvedores Wechaty PHP também querem falar com você (código secreto: php wechaty )
PHP Wechaty Docker oferece suporte a scripts PHP.
2.1.Execute o script PHP
# for php script
docker run -ti --volume= " $( pwd ) " :/bot --rm phpwechaty/php-wechaty:v1 docker/ding-dong-bot.php
Saiba mais sobre o Wechaty Docker em Wiki:Docker.
WECHATY_PUPPET_SERVICE_TLS_CA_CERT
: pode ser substituído por options.tlsRootCert
. Defina o certificado CA raiz para verificar o servidor ou cliente.Para servidor fantoche:
Variável de ambiente | Opções | Descrição |
---|---|---|
WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT | options.tls.serverCert | Certificado CA do servidor (dados de string) |
WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY | options.tls.serverKey | Chave CA do servidor (dados de string) |
WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER | options.tls.disable | Defina true para desabilitar o TLS do servidor |
Para cliente fantoche:
Variável de ambiente | Opções | Descrição |
---|---|---|
WECHATY_PUPPET_SERVICE_AUTHORITY | options.authority | Host de descoberta de serviço, padrão: api.chatie.io |
WECHATY_PUPPET_SERVICE_TLS_CA_CERT | options.caCert | Certificado raiz da autoridade de certificação, o padrão é usar o certificado raiz da comunidade Wechaty |
WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME | options.serverName | Nome do servidor (correspondência de mastro para SNI) |
WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT | options.tls.disable | Defina true para desabilitar o TLS do cliente |
Saiba mais sobre tls em 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 ();
Já temos Wechaty em TypeScript, não será muito difícil traduzir o TypeScript (TS) para PHP porque wechaty tem apenas 3.000 linhas de código TS, elas são bem projetadas e desacopladas pela abstração wechaty-puppet. traduzimos essas 3.000 linhas de código TypeScript, estaremos quase terminando.
Como já temos um ecossistema de Wechaty em TypeScript, não teremos que implementar tudo em PHP, principalmente, em fevereiro de 2020, finalizamos o módulo de abstração de serviço @chatie/grpc com a implementação de wechaty-puppet-service.
O diagrama a seguir mostra que podemos reutilizar quase tudo em TypeScript, e o que precisamos fazer é apenas o bloco localizado no canto superior direito do 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) |
+--------------------------+ +--------------------------+
Existe uma classe de 100 linhas chamada Image
encarregada de baixar a imagem do WeChat em diferentes tamanhos.
É um ótimo exemplo para demonstrar como traduzimos o TypeScript para PHP no Wechaty Way:
Se você estiver interessado na tradução e quiser ver como ela funciona, será um bom começo lendo e comparando esses dois arquivos de classe Image
em TypeScript e PHP ao mesmo tempo.
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 )