Wechaty est un SDK conversationnel pour les créateurs de chatbots qui peut vous aider à créer un bot en 8 lignes de PHP
"Wechaty est une excellente solution, je pense que beaucoup plus d'utilisateurs le reconnaîtraient."
— @Gcaufy, ingénieur Tencent, auteur de WePY"C'est tellement utile que j'ai envie de pleurer."
— @xinbenlv, ingénieur Google, fondateur de HaoShiYou.orgLien "La meilleure bibliothèque de développement WeChat"
— @Jarvis, ingénieur Baidu"Wechaty donne aux opérateurs plus de temps pour réfléchir à la manière de planifier des événements, de fidéliser les utilisateurs et de monétiser les entreprises" lien
— @lijiarui, fondateur et PDG de Juzi.BOT."Si vous connaissez js... essayez Wechaty, c'est facile à utiliser."
— @Urinx Uri Lee, auteur de WeixinBot (Python)
Pour en savoir plus, consultez Wiki : Voice Of Developer
Wechaty est utilisé dans de nombreux projets ChatBot par des milliers de développeurs. Si vous souhaitez parler avec d'autres développeurs, scannez simplement le code QR suivant dans WeChat avec le code secret php wechaty , rejoignez notre page d'accueil des développeurs PHP Wechaty .
Scannez maintenant, car d'autres développeurs PHP Wechaty veulent aussi parler avec vous (code secret : php wechaty )
PHP Wechaty Docker prend en charge le script PHP.
2.1. Exécutez le script PHP
# for php script
docker run -ti --volume= " $( pwd ) " :/bot --rm phpwechaty/php-wechaty:v1 docker/ding-dong-bot.php
Apprenez-en davantage sur Wechaty Docker sur Wiki:Docker.
WECHATY_PUPPET_SERVICE_TLS_CA_CERT
: peut être remplacé par options.tlsRootCert
. Définissez le certificat Root CA pour vérifier le serveur ou le client.Pour le serveur Puppet :
Variable d'environnement | Possibilités | Description |
---|---|---|
WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT | options.tls.serverCert | Certificat CA du serveur (données de chaîne) |
WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY | options.tls.serverKey | Clé d'autorité de certification du serveur (chaîne de données) |
WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER | options.tls.disable | Définir sur true pour désactiver le serveur TLS |
Pour le client Puppet :
Variable d'environnement | Possibilités | Description |
---|---|---|
WECHATY_PUPPET_SERVICE_AUTHORITY | options.authority | Hôte de découverte de services, par défaut : api.chatie.io |
WECHATY_PUPPET_SERVICE_TLS_CA_CERT | options.caCert | Certificat racine de l'autorité de certification, la valeur par défaut utilise le certificat racine de la communauté Wechaty |
WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME | options.serverName | Nom du serveur (correspondance du mât pour SNI) |
WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT | options.tls.disable | Définir sur true pour désactiver le client TLS |
Apprenez-en plus sur tls sur 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 ();
Nous avons déjà Wechaty dans TypeScript, il ne sera pas trop difficile de traduire le TypeScript(TS) en PHP car wechaty n'a que 3 000 lignes de code TS, elles sont bien conçues et découplées par l'abstraction wechaty-puppet Donc après. nous avons traduit ces 3 000 lignes de code TypeScript, nous aurons presque terminé.
Comme nous avons déjà un écosystème Wechaty en TypeScript, nous n'aurons donc pas à tout implémenter en PHP, surtout en février 2020, nous avons terminé le module d'abstraction de service @chatie/grpc avec l'implémentation de wechaty-puppet-service.
Le diagramme suivant montre que nous pouvons réutiliser presque tout dans TypeScript, et que nous devons faire uniquement le bloc situé en haut à droite du diagramme : 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) |
+--------------------------+ +--------------------------+
Il existe une classe de 100 lignes nommée Image
chargée de télécharger l'image WeChat dans différentes tailles.
C'est un excellent exemple pour démontrer comment traduire le TypeScript en PHP à la manière de Wechaty :
Si la traduction vous intéresse et souhaitez voir comment elle fonctionne, ce sera un bon début en lisant et en comparant ces deux fichiers de classe Image
en TypeScript et PHP en même temps.
Encours...
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 )