Das in der Perl-Sprache geschriebene WeChat-Client-Framework, das auf Mojolicious basiert, erfordert Perl-Version 5.10+ und kann über Plug-Ins eine API-Schnittstelle basierend auf dem HTTP-Protokoll bereitstellen, die von anderen Sprachen oder Systemen aufgerufen werden kann
Dieses Projekt folgt vollständig den von WeChat offiziell bereitgestellten Originalfunktionen und beinhaltet keine Sabotageakte, Kontodiebstahl usw. Dieses Projekt ist vollständig Open Source. Der Zweck besteht darin, den technischen Austausch und das Lernen zu fördern Land, Unternehmen, Einzelpersonen usw. ist verboten, andernfalls werden die Konsequenzen eingebildet
Name | Priorität | Aktueller Stand | Github-Autor | Funktionsbeschreibung |
---|---|---|---|---|
Nachricht anzeigen | 100 | Veröffentlicht | sjdy521 | Vom Client empfangene und gesendete Nachrichten drucken |
IRCShell | 99 | Veröffentlicht | sjdy521 | Verwendung von WeChat über den IRC-Client in einer Linux-Umgebung |
Openwx | 98 | Veröffentlicht | sjdy521 | Stellen Sie eine API-Schnittstelle zum Versenden von WeChat-Nachrichten bereit |
Schönheit | 95 | Veröffentlicht | sjdy521 | Identifizieren Sie bestimmte Schlüsselwörter und senden Sie Bilder von schönen Frauen |
Übersetzung | 93 | Veröffentlicht | sjdy521 | Mehrsprachige Übersetzungsfunktion |
Wissensdatenbank | 2 | Veröffentlicht | sjdy521 | Passen Sie die Q&A-Wissensdatenbank über WeChat-Nachrichten an |
AutoVerify | 1 | Veröffentlicht | sjdy521 | Automatisch genehmigen, wenn Sie eine Freundschaftsbestätigungsanfrage erhalten |
PostQRcode | 0 | Veröffentlicht | sjdy521 | Melden Sie sich mit dem QR-Code an und senden Sie ihn zum Remote-Scannen an Ihre E-Mail. |
QRcode hochladen | 0 | Veröffentlicht | sjdy521 | Laden Sie den QR-Code in das Bildbett hoch, um die Zugriffs-URL für das öffentliche Netzwerk zu erhalten |
XiaoiceAntwort | 1 | Veröffentlicht | sjdy521 | Verwenden Sie Microsoft XiaoIce, um intelligente Chat-Antworten zu implementieren |
QRcode anzeigen | 0 | Veröffentlicht | sjdy521 | Rufen Sie das Systembildanzeigeprogramm auf, um den QR-Code anzuzeigen (unterstützt derzeit nur Win). |
SmartReply | 0 | Veröffentlicht | sjdy521 | Intelligente Chat-Antwort |
Weitere Plug-Ins finden Sie in der vollständigen Plug-In-Liste
Sie können einen intelligenten Chatbot starten, indem Sie einen einzigen Befehl eingeben, was sowohl für Perl als auch für Sie sehr elegant ist.
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端口 | |
| | >——————————————————> | |
| +--------------------+ +-------------------+ |
| |
| 我们程序实现的部分 |
+--- - - - - -- - -- ---- ------ ------- ------ --- ----+
Es wird empfohlen, cpanm zu verwenden, um das Mojo::Weixin-Modul online zu installieren. Wenn Sie Docker verwenden, lesen Sie bitte die Informationen zur Installation und Verwendung von Docker-Images.
Installieren Sie Perl
Bitte überprüfen Sie vor der Installation, ob Perl bereits auf Ihrem System installiert ist, da es mit Ausnahme von Windows auf den meisten anderen Plattformen standardmäßig vorinstalliert sein kann.
Und Ihre Perl-Version ist mindestens 5.10.1+, 5.14+ wird empfohlen
Die Downloadseite der offiziellen Perl-Website enthält relativ umfassende und detaillierte Installationsanweisungen für mehrere Plattformen wie Unix/Linux, Mac OS X und Windows.
Es wird empfohlen, dass Sie versuchen, die Binärversion (vorkompilierte Binärversion) auszuwählen, die bequemer ist und direkt nach der Installation verwendet werden kann.
Wenn Ihre Perl-Version unter Linux niedriger ist und Sie Perl aktualisieren möchten, können Sie die Verwendung des Tools perlbrew in Betracht ziehen
Plattform | Empfohlene Wahl | Adresse herunterladen |
---|---|---|
Windows | 1. Erdbeerperle 2. ActivePerl 3. Mojo-StrawberryPerl | StrawberryPerl-Downloadadresse Mojo-StrawberryPerl-Downloadadresse ActivePerl-Downloadadresse |
Linux | 1. Wird mit dem System geliefert 2. Paketmanager wie yum/apt 3. Offizielle Quellcode-Zusammenstellung 4. ActivePerl 5. DWIM-Perl | ActivePerl-Downloadadresse DWIM-Perl-Downloadadresse |
Mac | 1. Wird mit dem System geliefert 2. ActivePerl | ActivePerl-Downloadadresse |
Beachten:
Mojo-StrawberryPerl ist auf Basis von StrawberryPerl optimiert und verpackt und eignet sich für Windows 32-Bit-/64-Bit-Systeme.
Installieren Sie das cpanm-Tool (Sie können diesen Schritt ignorieren, wenn cpanm bereits auf dem System installiert ist)
Methode a: cpanm über cpan installieren (nur für Root-Benutzer)
$ cpan -i App::cpanminus
Methode B: Installieren Sie cpanm direkt online
$ curl -kL http://cpanmin.us | perl - App::cpanminus
官方服务器在国外,如果无法访问,可以选择下面的命令:
$ curl http://share-10066126.cos.myqcloud.com/cpanm.pl|perl - App::cpanminus
Verwenden Sie cpanm, um das Mojo::Weixin-Modul online zu installieren (wenn das System das Modul bereits installiert hat, wird das Modul durch Ausführen dieses Schritts aktualisiert).
$ cpanm Mojo::Weixin
Wenn während des Installationsvorgangs immer wieder die Meldung angezeigt wird, dass der Download fehlgeschlagen ist, liegt das wahrscheinlich daran, dass der Netzwerkzugriff auf den fremden Server schlecht ist.
In diesem Fall können Sie versuchen, die inländische Spiegelseite wie folgt manuell anzugeben:
$ cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Weixin
Lösungen, die bei der Installation fehlgeschlagen sind und möglicherweise hilfreich sind
Wenn Sie Pech haben und keine Erstinstallation über cpanm erhalten, finden Sie hier einige Informationen, die hilfreich sein könnten
Während der Installation von Mojo::Weixin helfen uns cpan oder cpanm dabei, viele andere abhängige Module automatisch zu installieren
Unter den vielen abhängigen Modulen ist IO::Socket::SSL häufig anfällig für Installationsprobleme.
IO::Socket::SSL bietet hauptsächlich https-Unterstützung. Der Installationsprozess umfasst möglicherweise die Kompilierung von SSL-bezogenen Bibliotheken.
Für Linux-Benutzer werden normalerweise Kompilierung und Installation verwendet. Wenn dem System die erforderliche Umgebung für Kompilierung und Installation fehlt, schlägt die Kompilierung fehl.
Für Windows-Benutzer wird empfohlen, einige Perl-Laufumgebungen zu verwenden, die umfassender gepackt sind, da es keine gute Kompilierungs- und Installationsumgebung gibt.
Beispielsweise enthalten die neuesten Versionen des populäreren Strawberryperl oder Activeperl standardmäßig das Kernabhängigkeitsmodul von Mojo::Weixin.
RedHat/Centos:
$ yum install -y openssl-devel
Ubuntu:
$ sudo apt-get install libssl-dev
Nachdem Sie die Kompilierungs- und Ausführungsumgebung repariert haben, kehren Sie zu Schritt 2 zurück und installieren Sie Mojo::Weixin.
Bitte versuchen Sie, es unter Root zu installieren und zu verwenden. Informationen zur Installation und Verwendung unter Nicht-Root finden Sie in den FAQ.
Wenn weiterhin Probleme auftreten, können Sie versuchen, das folgende Skript unter Linux auszuführen, um abhängige Module zu überprüfen
$ curl -ks "https://raw.githubusercontent.com/sjdy521/Mojo-Weixin/master/script/check_dependencies.pl"|perl -
Ich kenne mich sehr gut mit Perl aus und bin ein professioneller Perler
Bei diesem Projekt handelt es sich um ein reines Perl-Modul, das für cpan freigegeben wurde. Bitte lesen Sie die Nutzungsdokumentation Mojo::Weixin
-Moduls sorgfältig durch.
Darüber hinaus können Sie sich im Demo-Verzeichnis weitere Codebeispiele ansehen
Ich kenne mich mit Perl nicht aus und bin Entwickler anderer Sprachen. Mich interessiert nur die bereitgestellte Schnittstelle zum Senden/Empfangen von Nachrichten.
Sie können den folgenden Code direkt in einer Quellcodedatei speichern (UTF8-Kodierung muss verwendet werden) und den Perl-Interpreter verwenden, um ihn auszuführen
#!/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();
Speichern Sie den obigen Code als xxxx.pl-Datei und führen Sie ihn dann mit Perl aus. Die WeChat-Anmeldung wird abgeschlossen und auf dem lokalen Computer wird ein http-Server generiert, der den angegebenen Adressport überwacht.
$ perl xxxx.pl
Beispiel eines Schnittstellenaufrufs zum Senden von Freundschaftsnachrichten
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}
Weitere Beschreibungen der Schnittstellenparameter finden Sie in der Dokumentation zur Openwx-Plug-in-API.
Ich bin ein Geek, ich möchte nur in der Lage sein, WeChat-Chat über IRC auf der Befehlszeile zu spielen
Bitte lesen Sie die Schritte zur Verwendung des IRCShell-Plug-Ins
JavaScript
Python
Java
Sie können eine Patenschaft übernehmen, indem Sie den Alipay-Zahlungs-QR-Code scannen. Vielen Dank für Ihre Unterstützung und Ermutigung.
Besonderer Dank geht an die Freunde, die gesponsert haben
Copyright (C) 2014 von sjdy521
Bei dieser Bibliothek handelt es sich um freie Software; Sie können sie unter der MIT-Lizenz und der Anti-996-Lizenz weiterverbreiten und/oder ändern