Wechaty는 8줄의 PHP로 봇을 생성하는 데 도움이 되는 Chatbot Maker용 대화형 SDK입니다.
"Wechaty는 훌륭한 솔루션입니다. 훨씬 더 많은 사용자가 이를 인식할 것이라고 믿습니다."
— @Gcaufy, Tencent 엔지니어, WePY 작성자"울고 싶을 정도로 유용해요."
— @xinbenlv, Google 엔지니어, HaoShiYou.org 창립자"최고의 WeChat 개발 라이브러리" 링크
— @Jarvis, Baidu 엔지니어"Wechaty는 운영자에게 이벤트 계획, 사용자 유지 및 비즈니스 수익 창출 방법에 대해 생각할 수 있는 더 많은 시간을 제공합니다." 링크
— @lijiarui, Juzi.BOT의 창립자 겸 CEO."js를 알고 있다면... Wechaty를 사용해 보세요. 사용하기 쉽습니다."
— @Urinx Uri Lee, WeixinBot(Python) 작성자
Wiki:Voice Of Developer에서 자세한 내용을 확인하세요.
Wechaty는 수천 명의 개발자가 많은 ChatBot 프로젝트에서 사용하고 있습니다. 다른 개발자와 대화하려면 WeChat에서 비밀 코드 php wechaty 로 다음 QR 코드를 스캔하고 Wechaty PHP 개발자 홈 에 가입하세요.
지금 스캔하세요. 다른 Wechaty PHP 개발자도 귀하와 대화하고 싶어합니다. (비밀 코드: php wechaty )
PHP Wechaty Docker는 PHP 스크립트를 지원합니다.
2.1.php 스크립트 실행
# for php script
docker run -ti --volume= " $( pwd ) " :/bot --rm phpwechaty/php-wechaty:v1 docker/ding-dong-bot.php
Wiki:Docker에서 Wechaty Docker에 대해 자세히 알아보세요.
WECHATY_PUPPET_SERVICE_TLS_CA_CERT
: options.tlsRootCert
로 덮어쓸 수 있습니다. 루트 CA 인증서를 설정하여 서버 또는 클라이언트를 확인하세요.Puppet 서버의 경우:
환경변수 | 옵션 | 설명 |
---|---|---|
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 | 서버 TLS를 비활성화하려면 true 설정하세요. |
Puppet 클라이언트의 경우:
환경변수 | 옵션 | 설명 |
---|---|---|
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 | 클라이언트 TLS를 비활성화하려면 true 설정하세요. |
https://github.com/wechaty/puppet-service에서 TLS에 대해 자세히 알아보세요.
$ 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 ();
우리는 이미 TypeScript에 Wechaty를 가지고 있습니다. wechaty에는 3,000줄의 TS 코드만 있고 wechaty-puppet 추상화에 의해 잘 설계되고 분리되어 있으므로 TypeScript(TS)를 PHP로 변환하는 것은 그리 어렵지 않습니다. 3,000줄의 TypeScript 코드를 번역했으니 거의 완료될 것입니다.
TypeScript에 Wechaty 생태계가 이미 있으므로 모든 것을 PHP로 구현할 필요는 없습니다. 특히 2020년 2월에 wechaty-puppet-service 구현으로 @chatie/grpc 서비스 추상화 모듈을 완료했습니다.
다음 다이어그램은 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) |
+--------------------------+ +--------------------------+
WeChat 이미지를 다양한 크기로 다운로드하는 역할을 담당하는 Image
라는 100줄 클래스가 있습니다.
Wechaty Way에서 TypeScript를 PHP로 변환하는 방법을 보여주는 훌륭한 예입니다.
번역에 관심이 있고 번역이 어떻게 작동하는지 살펴보고 싶다면 TypeScript와 PHP에서 두 Image
클래스 파일을 동시에 읽고 비교하는 것이 좋은 시작이 될 것입니다.
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 )