Mojolicious를 기반으로 Perl 언어로 작성된 WeChat 클라이언트 프레임워크에는 Perl 버전 5.10 이상이 필요하며 다른 언어 또는 시스템 호출을 위한 플러그인을 통해 HTTP 프로토콜 기반 API 인터페이스를 제공할 수 있습니다.
이 프로젝트는 WeChat이 공식적으로 제공하는 원래 기능을 완전히 따르며 방해 행위, 계정 도용 등의 행위를 포함하지 않습니다. 이 프로젝트의 목적은 기술 교류 및 학습을 촉진하는 것입니다. 국가, 기업, 개인 등은 금지됩니다. 그렇지 않으면 자만하는 결과가 발생할 수 있습니다.
이름 | 우선 사항 | 현황 | github 작성자 | 기능 설명 |
---|---|---|---|---|
메시지 표시 | 100 | 게시됨 | sjdy521 | 클라이언트가 받고 보낸 메시지를 인쇄합니다. |
IRC쉘 | 99 | 게시됨 | sjdy521 | Linux 환경에서 irc 클라이언트를 통해 WeChat 사용 |
오픈웍스 | 98 | 게시됨 | sjdy521 | WeChat 메시지 전송 API 인터페이스 제공 |
아름다움 | 95 | 게시됨 | sjdy521 | 특정 키워드를 식별하여 아름다운 여성의 사진을 전송하세요 |
번역 | 93 | 게시됨 | sjdy521 | 다국어 번역 기능 |
기술 자료 | 2 | 게시됨 | sjdy521 | WeChat 메시지를 통해 Q&A 지식 베이스를 맞춤화하세요 |
자동 확인 | 1 | 게시됨 | sjdy521 | 친구인증 요청시 자동 승인 |
포스트QR코드 | 0 | 게시됨 | sjdy521 | 원격 스캔을 위해 QR 코드를 로그인하고 이메일로 보내세요. |
QR코드 업로드 | 0 | 게시됨 | sjdy521 | 공용 네트워크 접속 URL을 얻기 위해 QR 코드를 이미지 베드에 업로드하세요. |
샤오아이스답글 | 1 | 게시됨 | sjdy521 | Microsoft XiaoIce를 사용하여 지능형 채팅 응답 구현 |
QR코드 표시 | 0 | 게시됨 | sjdy521 | 시스템 이미지 보기 프로그램을 호출하여 QR코드를 표시합니다. (현재 win만 지원) |
스마트답장 | 0 | 게시됨 | sjdy521 | 스마트 채팅 답장 |
더 많은 플러그인을 보려면 전체 플러그인 목록을 참조하세요.
단일 명령을 입력하여 지능형 챗봇을 시작할 수 있으므로 Perl과 귀하 모두에게 매우 우아합니다!
cpanm Mojo::Weixin && perl -MMojo::Weixin -e "Mojo::Weixin->new->load('ShowMsg')->load('SmartReply')->run()"
[16/01/19 23:10:49] [info] 客户端准备登录...
[16/01/19 23:10:50] [info] 清除残留的历史二维码图片
[16/01/19 23:10:30] [info] 二维码已下载到本地[ /tmp/mojo_weixin_qrcode.jpg ]
[16/01/19 23:11:20] [info] 等待手机微信扫描二维码...
[16/01/19 23:12:09] [info] 手机微信扫码成功,请在手机微信上点击 [登录] 按钮...
[16/01/19 23:12:10] [info] 正在进行登录...
[16/01/19 23:12:10] [info] 微信登录成功
[16/01/19 23:13:40] [info] 获取联系人信息...
[16/01/19 23:13:40] [info] 更新个人信息成功
[16/01/19 23:14:41] [info] 更新好友信息成功
[16/01/19 23:15:42] [info] 更新群组[ 红包群 ]信息成功
[16/01/19 23:15:42] [info] 更新群组[ Perl语言交流 ]信息成功
[16/01/19 23:15:42] [info] 开始接收消息...
[16/01/19 23:15:00] [群消息] 小灰|Perl语言交流 : Mojo::Weixin不错哦
[16/01/19 23:15:58] [群消息] 我->Perl语言交流 : 多谢多谢
+-------------------+ +----------------+
| Tencent | | Any IRC Client |
| Weixin Server | | wechat、irssi |
+---v-------------^-+ +-v------------^-+
| | | |
| 微信协议交互| |IRC协议交互 |
+-- --- |-- - - -- | - - - -- - - --- | --- ----- | --+
| +---v-------------^--+ +----v------------^-+ |
| | <——————————————————< | |
| | Weixin Client | Weixin - IRC | IRC Server | |
| | | 协议转换 | 监听本机6667端口 | |
| | >——————————————————> | |
| +--------------------+ +-------------------+ |
| |
| 我们程序实现的部分 |
+--- - - - - -- - -- ---- ------ ------- ------ --- ----+
Mojo::Weixin 모듈을 온라인으로 설치하려면 cpanm을 사용하는 것이 좋습니다. docker를 사용하는 경우 Docker 이미지 설치 및 사용법을 참조하세요.
펄 설치
Windows를 제외한 대부분의 다른 플랫폼에는 기본적으로 Perl이 사전 설치되어 있을 수 있으므로 설치하기 전에 Perl이 시스템에 이미 설치되어 있는지 확인하십시오.
Perl 버전은 최소 5.10.1+, 5.14+가 권장됩니다.
Perl 공식 웹사이트 다운로드 페이지에는 Unix/Linux, Mac OS X 및 Windows 다중 플랫폼에 대한 비교적 포괄적이고 자세한 설치 지침이 포함되어 있습니다.
설치 후 즉시 사용할 수 있는 Binaries (바이너리 사전 컴파일) 버전을 선택하는 것이 더 편리합니다.
Linux에서 Perl 버전이 더 낮고 Perl을 업그레이드하려는 경우 Perlbrew 도구 사용을 고려할 수 있습니다.
플랫폼 | 추천 선택 | 주소 다운로드 |
---|---|---|
윈도우 | 1. 스트로베리펄 2. 액티브펄 3. 모조-스트로베리펄 | StrawberryPerl 다운로드 주소 Mojo-StrawberryPerl 다운로드 주소 ActivePerl 다운로드 주소 |
리눅스 | 1. 시스템과 함께 제공됩니다. 2. yum/apt와 같은 패키지 관리자 3. 공식 소스코드 편집 4. 액티브펄 5. DWIM-펄 | ActivePerl 다운로드 주소 DWIM-Perl 다운로드 주소 |
스코틀랜드 사람 | 1. 시스템과 함께 제공됩니다. 2. 액티브펄 | ActivePerl 다운로드 주소 |
알아채다:
Mojo-StrawberryPerl은 StrawberryPerl을 기반으로 간소화되고 패키지되었으며 Windows 32비트/64비트 시스템에 적합합니다.
cpanm 도구를 설치합니다 (cpanm이 시스템에 이미 설치되어 있는 경우 이 단계를 무시할 수 있습니다).
방법 a: cpan을 통해 cpanm 설치(루트 사용자에게만 해당)
$ cpan -i App::cpanminus
방법 b: cpanm을 온라인으로 직접 설치
$ curl -kL http://cpanmin.us | perl - App::cpanminus
官方服务器在国外,如果无法访问,可以选择下面的命令:
$ curl http://share-10066126.cos.myqcloud.com/cpanm.pl|perl - App::cpanminus
cpanm을 사용하여 Mojo::Weixin 모듈을 온라인으로 설치합니다 (시스템이 이미 모듈을 설치한 경우 이 단계를 수행하면 모듈이 업그레이드됩니다).
$ cpanm Mojo::Weixin
설치 과정에서 다운로드에 실패했다는 메시지가 계속 표시된다면, 외부 서버에 대한 네트워크 접근이 좋지 않기 때문일 가능성이 높습니다.
이 경우 다음과 같이 국내 미러 사이트를 수동으로 지정할 수 있습니다.
$ cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Weixin
도움이 될 수 있는 설치 실패 솔루션
운이 좋지 않아 cpanm을 통해 처음 설치하지 못한 경우 도움이 될 수 있는 몇 가지 정보는 다음과 같습니다.
Mojo::Weixin을 설치하는 동안 cpan 또는 cpanm은 다른 많은 종속 모듈을 자동으로 설치하는 데 도움이 됩니다.
많은 종속 모듈 중에서 설치 문제가 자주 발생하는 모듈은 IO::Socket::SSL입니다.
IO::Socket::SSL은 주로 https 지원을 제공합니다. 설치 프로세스에는 SSL 관련 라이브러리의 컴파일이 포함될 수 있습니다.
Linux 사용자의 경우 일반적으로 컴파일 및 설치를 사용합니다. 시스템에 컴파일 및 설치에 필요한 환경이 없으면 컴파일이 실패합니다.
Windows 사용자의 경우 좋은 컴파일 및 설치 환경이 없기 때문에 좀 더 포괄적으로 패키지된 Perl 실행 환경을 사용하는 것이 좋습니다.
예를 들어, 더 널리 사용되는 Strawberryperl 또는 activeperl의 최신 버전에는 기본적으로 Mojo::Weixin의 핵심 종속성 모듈이 포함되어 있습니다.
레드햇/센토스:
$ yum install -y openssl-devel
우분투:
$ sudo apt-get install libssl-dev
컴파일 및 실행 환경을 수정한 후 2단계로 돌아가 Mojo::Weixin을 설치합니다.
루트가 아닌 사용자에게 설치 및 사용을 원하시면 FAQ를 참고하시기 바랍니다.
여전히 문제가 있는 경우 Linux에서 다음 스크립트를 실행하여 종속 모듈을 확인할 수 있습니다.
$ curl -ks "https://raw.githubusercontent.com/sjdy521/Mojo-Weixin/master/script/check_dependencies.pl"|perl -
나는 Perl에 대해 매우 잘 알고 있으며 전문 Perler입니다.
이 프로젝트는 cpan에 출시된 순수 Perl 모듈입니다. Mojo::Weixin
모듈의 사용 설명서를 주의 깊게 읽어보세요.
또한 데모 디렉터리에서 더 많은 코드 예제를 확인할 수 있습니다.
나는 Perl에 익숙하지 않고 다른 언어의 개발자로서 제공되는 메시지 보내기/받기 인터페이스에만 관심이 있습니다.
다음 코드를 소스 코드 파일에 직접 저장하고(UTF8 인코딩을 사용해야 함) Perl 인터프리터를 사용하여 실행할 수 있습니다.
#!/usr/bin/env perl
use Mojo::Weixin;
my ($host,$port,$post_api);
$host = "0.0.0.0"; #发送消息接口监听地址,没有特殊需要请不要修改
$port = 3000; #发送消息接口监听端口,修改为自己希望监听的端口
#$post_api = 'http://xxxx'; #接收到的消息上报接口,如果不需要接收消息上报,可以删除或注释此行
my $client = Mojo::Weixin->new(log_level=>"info",http_debug=>0);
$client->load("ShowMsg");
$client->load("Openwx",data=>{listen=>[{host=>$host,port=>$port}], post_api=>$post_api});
$client->run();
위 코드를 xxxx.pl 파일로 저장한 후 Perl을 사용하여 실행하면 WeChat 로그인이 완료되고 지정된 주소 포트를 수신하는 http 서버가 로컬 시스템에 생성됩니다.
$ perl xxxx.pl
친구 메시지 전송을 위한 인터페이스 호출 예시
http://127.0.0.1:3000/openwx/send_friend_message?id=xxxx&content=hello
* About to connect() to 127.0.0.1 port 3000 (#0)
* Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 3000 (#0)
> GET /openwx/send_friend_message?id=xxxxx&content=hello HTTP/1.1
> User-Agent: curl/7.29.0
> Host: 127.0.0.1:3000
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json;charset=UTF-8
< Date: Sun, 13 Dec 2015 04:54:38 GMT
< Content-Length: 52
< Server: Mojolicious (Perl)
<
* Connection #0 to host 127.0.0.1 left intact
{"status":"发送成功","id":23910327,"code":0}
인터페이스 매개변수에 대한 자세한 설명은 Openwx 플러그인 API 문서를 참조하세요.
저는 괴짜입니다. 명령줄에서 IRC를 통해 WeChat 채팅을 플레이하고 싶습니다.
IRCShell 플러그인을 사용하는 단계를 읽어보세요.
자바스크립트
파이썬
자바
알리페이 결제 QR코드를 스캔하시면 후원하실 수 있습니다. 많은 응원과 격려 부탁드립니다.
후원해주신 친구들에게 특별히 감사드립니다
저작권 (C) 2014 by sjdy521
이 라이브러리는 무료 소프트웨어입니다. MIT 라이센스 및 Anti 996 라이센스에 따라 재배포 및/또는 수정할 수 있습니다.