Wechaty ist ein Konversations-SDK für Chatbot-Ersteller, mit dem Sie einen Bot in 8 Zeilen PHP erstellen können
„Wechaty ist eine großartige Lösung, ich glaube, dass es viel mehr Benutzer erkennen wird.“
— @Gcaufy, Tencent-Ingenieur, Autor von WePY„Es ist so nützlich, dass ich am liebsten weinen würde.“
— @xinbenlv, Google Engineer, Gründer von HaoShiYou.orgLink „Die beste WeChat-Entwicklungsbibliothek“.
— @Jarvis, Baidu-Ingenieur„Wechaty gibt Betreibern mehr Zeit, darüber nachzudenken, wie sie Veranstaltungen planen, Benutzer binden und Unternehmen monetarisieren können.“ Link
— @lijiarui, Gründer und CEO von Juzi.BOT.„Wenn Sie js kennen ... probieren Sie Wechaty aus, es ist einfach zu bedienen.“
— @Urinx Uri Lee, Autor von WeixinBot (Python)
Weitere Informationen finden Sie im Wiki:Voice Of Developer
Wechaty wird in vielen ChatBot-Projekten von Tausenden von Entwicklern verwendet. Wenn Sie mit anderen Entwicklern sprechen möchten, scannen Sie einfach den folgenden QR-Code in WeChat mit dem Geheimcode php wechaty und treten Sie unserem Wechaty PHP Developers' Home bei.
Jetzt scannen, denn auch andere Wechaty-PHP-Entwickler möchten mit Ihnen sprechen (Geheimcode: php wechaty )
PHP Wechaty Docker unterstützt PHP-Skript.
2.1. PHP-Skript ausführen
# for php script
docker run -ti --volume= " $( pwd ) " :/bot --rm phpwechaty/php-wechaty:v1 docker/ding-dong-bot.php
Erfahren Sie mehr über Wechaty Docker im Wiki:Docker.
WECHATY_PUPPET_SERVICE_TLS_CA_CERT
: kann durch options.tlsRootCert
überschrieben werden. Legen Sie das Root-CA-Zertifikat fest, um den Server oder Client zu überprüfen.Für Puppet-Server:
Umgebungsvariable | Optionen | Beschreibung |
---|---|---|
WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT | options.tls.serverCert | Server-CA-Zertifikat (String-Daten) |
WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY | options.tls.serverKey | Server-CA-Schlüssel (String-Daten) |
WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER | options.tls.disable | Legen Sie true fest, um Server-TLS zu deaktivieren |
Für Puppet-Client:
Umgebungsvariable | Optionen | Beschreibung |
---|---|---|
WECHATY_PUPPET_SERVICE_AUTHORITY | options.authority | Diensterkennungshost, Standard: api.chatie.io |
WECHATY_PUPPET_SERVICE_TLS_CA_CERT | options.caCert | Stammzertifikat der Zertifizierungsstelle, standardmäßig wird das Stammzertifikat der Wechaty Community verwendet |
WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME | options.serverName | Servername (Mast-Match für SNI) |
WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT | options.tls.disable | Legen Sie true fest, um Client-TLS zu deaktivieren |
Erfahren Sie mehr über TLS unter 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 ();
Wir haben Wechaty bereits in TypeScript. Es wird nicht allzu schwierig sein, TypeScript(TS) in PHP zu übersetzen, da Wechaty nur 3.000 Zeilen des TS-Codes hat, diese sind gut gestaltet und durch die Wechaty-Puppet-Abstraktion entkoppelt Wir haben diese 3.000 Zeilen TypeScript-Code übersetzt und sind fast fertig.
Da wir bereits über ein Wechaty-Ökosystem in TypeScript verfügen und daher nicht alles in PHP implementieren müssen, haben wir insbesondere im Februar 2020 das Service-Abstraktionsmodul @chatie/grpc mit der Wechaty-Puppet-Service-Implementierung fertiggestellt.
Das folgende Diagramm zeigt, dass wir fast alles in TypeScript wiederverwenden können, und was wir tun müssen, ist nur der Block oben rechts im Diagramm: 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) |
+--------------------------+ +--------------------------+
Es gibt eine 100-Zeilen-Klasse namens Image
die für das Herunterladen des WeChat-Bildes in verschiedenen Größen zuständig ist.
Es ist ein großartiges Beispiel, um zu demonstrieren, wie wir TypeScript auf Wechaty-Art in PHP übersetzen:
Wenn Sie an der Übersetzung interessiert sind und sehen möchten, wie sie funktioniert, ist es ein guter Anfang, diese beiden Image
-Klassendateien gleichzeitig in TypeScript und PHP zu lesen und zu vergleichen.
In Bearbeitung...
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 )