Le framework client WeChat écrit en langage Perl, basé sur Mojolicious, nécessite Perl version 5.10+ et peut fournir une interface API basée sur le protocole HTTP via des plug-ins pour que d'autres langages ou systèmes puissent appeler
Ce projet suit entièrement les fonctions originales officiellement fournies par WeChat et n'inclut aucun acte de sabotage, vol de compte, etc. Ce projet est entièrement open source. Le but est de promouvoir l'échange technique et l'apprentissage de toute utilisation illégale préjudiciable à l'utilisateur. pays, entreprises, particuliers, etc. est interdit, sinon il y aura des conséquences vaniteuses.
nom | priorité | Statut actuel | auteur github | Description de la fonction |
---|---|---|---|---|
AfficherMsg | 100 | Publié | sjdy521 | Imprimer les messages reçus et envoyés par le client |
IRCShell | 99 | Publié | sjdy521 | Utiliser WeChat via le client irc dans un environnement Linux |
Ouvrirwx | 98 | Publié | sjdy521 | Fournir une interface API d'envoi de messages WeChat |
Beauté | 95 | Publié | sjdy521 | Identifiez les mots-clés spécifiés et envoyez des photos de belles femmes |
Traduction | 93 | Publié | sjdy521 | Fonction de traduction multilingue |
Base de connaissances | 2 | Publié | sjdy521 | Personnalisez la base de connaissances Q&A via les messages WeChat |
Vérification automatique | 1 | Publié | sjdy521 | Approuver automatiquement lors de la réception d'une demande de vérification d'ami |
Code QR postal | 0 | Publié | sjdy521 | Connectez-vous au code QR et envoyez-le à votre adresse e-mail pour une numérisation à distance. |
TéléchargerQRcode | 0 | Publié | sjdy521 | Téléchargez le code QR sur le lit d'images pour obtenir l'URL d'accès au réseau public |
XiaoiceRépondre | 1 | Publié | sjdy521 | Utilisez Microsoft XiaoIce pour mettre en œuvre des réponses de chat intelligentes |
Afficher le QRcode | 0 | Publié | sjdy521 | Appelez le programme de visualisation d'image système pour afficher le code QR (actuellement, ne prend en charge que Win) |
Réponse intelligente | 0 | Publié | sjdy521 | Réponse par chat intelligent |
Pour plus de plug-ins, reportez-vous à la liste complète des plug-ins
Tapez simplement une seule commande pour démarrer un chatbot intelligent, Perl et vous êtes si élégants.
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端口 | |
| | >——————————————————> | |
| +--------------------+ +-------------------+ |
| |
| 我们程序实现的部分 |
+--- - - - - -- - -- ---- ------ ------- ------ --- ----+
Il est recommandé d'utiliser cpanm pour installer le module Mojo::Weixin en ligne. Si vous utilisez Docker, veuillez consulter Installation et utilisation de l'image Docker.
Installer Perl
Avant l'installation, veuillez confirmer si Perl est déjà installé sur votre système, car à l'exception de Windows, la plupart des autres plates-formes peuvent l'avoir préinstallé par défaut.
Et votre version de Perl est au moins 5.10.1+, 5.14+ est recommandée
La page de téléchargement du site Web officiel de Perl contient des instructions d'installation relativement complètes et détaillées pour plusieurs plates-formes Unix/Linux, Mac OS X et Windows.
Il est recommandé d'essayer de choisir la version Binaires (binaire précompilé), qui peut être utilisée immédiatement après l'installation, ce qui est plus pratique.
Si votre version de Perl est inférieure sous Linux et que vous souhaitez mettre à niveau Perl, vous pouvez envisager d'utiliser l'outil perlbrew
plate-forme | Choix recommandé | Adresse de téléchargement |
---|---|---|
Fenêtres | 1. FraisePerl 2. ActivePerl 3. Mojo-FraisePerl | Adresse de téléchargement de StrawberryPerl Adresse de téléchargement de Mojo-StrawberryPerl Adresse de téléchargement ActivePerl |
Linux | 1. Le système est livré avec 2. Gestionnaires de packages tels que yum/apt 3. Compilation officielle du code source 4. ActivePerl 5. DWIM-Perl | Adresse de téléchargement ActivePerl Adresse de téléchargement DWIM-Perl |
Mac | 1. Le système est livré avec 2. ActivePerl | Adresse de téléchargement ActivePerl |
Avis:
Mojo-StrawberryPerl est rationalisé et packagé sur la base de StrawberryPerl et convient aux systèmes Windows 32 bits/64 bits.
Installez l'outil cpanm (vous pouvez ignorer cette étape si cpanm est déjà installé sur le système)
Méthode a : installer cpanm via cpan (uniquement pour les utilisateurs root)
$ cpan -i App::cpanminus
Méthode b : Installer cpanm directement en ligne
$ curl -kL http://cpanmin.us | perl - App::cpanminus
官方服务器在国外,如果无法访问,可以选择下面的命令:
$ curl http://share-10066126.cos.myqcloud.com/cpanm.pl|perl - App::cpanminus
Utilisez cpanm pour installer le module Mojo::Weixin en ligne (si le système a déjà installé le module, effectuer cette étape mettra à niveau le module)
$ cpanm Mojo::Weixin
S'il continue de vous indiquer que le téléchargement a échoué pendant le processus d'installation, c'est probablement parce que l'accès réseau au serveur étranger est médiocre.
Dans ce cas, vous pouvez essayer de spécifier manuellement le site miroir national comme suit :
$ cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Weixin
Solutions ayant échoué lors de l'installation et pouvant aider
Si vous n'avez pas de chance et que vous n'obtenez pas une première installation via cpanm, voici quelques informations qui pourraient être utiles
Lors de l'installation de Mojo::Weixin, cpan ou cpanm nous aidera à installer automatiquement de nombreux autres modules dépendants
Parmi les nombreux modules dépendants, celui qui est souvent sujet à des problèmes d'installation est IO::Socket::SSL.
IO::Socket::SSL fournit principalement un support https. Le processus d'installation peut impliquer la compilation de bibliothèques liées à SSL.
Pour les utilisateurs Linux, la compilation et l'installation sont généralement utilisées. Si le système ne dispose pas de l'environnement nécessaire pour la compilation et l'installation, la compilation échouera.
Pour les utilisateurs Windows, puisqu'il n'existe pas de bon environnement de compilation et d'installation, il est recommandé d'utiliser certains environnements d'exécution Perl qui ont été packagés de manière plus complète.
Par exemple, les dernières versions des plus populaires Strawberryperl ou ActivePerl incluent par défaut le module de dépendance principal de Mojo::Weixin.
RedHat/Centos :
$ yum install -y openssl-devel
Ubuntu :
$ sudo apt-get install libssl-dev
Après avoir corrigé l'environnement de compilation et d'exécution, revenez à l'étape 2 et installez Mojo :: Weixin.
Veuillez essayer de l'installer et de l'utiliser sous root. Pour l'installation et l'utilisation sous un utilisateur non root, veuillez vous référer à la FAQ.
Si vous rencontrez toujours des problèmes, vous pouvez essayer d'exécuter le script suivant sous Linux pour vérifier les modules dépendants
$ curl -ks "https://raw.githubusercontent.com/sjdy521/Mojo-Weixin/master/script/check_dependencies.pl"|perl -
Je connais très bien Perl et je suis un Perler professionnel
Ce projet est un module Perl pur qui a été publié sur cpan. Veuillez lire attentivement la documentation d'utilisation Mojo::Weixin
.
De plus, vous pouvez consulter plus d'exemples de code dans le répertoire de démonstration
Je ne connais pas Perl et je suis développeur d'autres langages. Je ne m'intéresse qu'à l'interface d'envoi/réception de messages fournie.
Vous pouvez directement enregistrer le code suivant dans un fichier de code source (vous devez utiliser l'encodage UTF8) et utiliser l'interpréteur Perl pour l'exécuter
#!/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();
Enregistrez le code ci-dessus en tant que fichier xxxx.pl, puis utilisez Perl pour l'exécuter. La connexion WeChat sera terminée et un serveur http écoutant le port d'adresse spécifié sera généré sur la machine locale.
$ perl xxxx.pl
Exemple d'appel d'interface pour envoyer des messages à des amis
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}
Pour plus de descriptions des paramètres d'interface, veuillez vous référer à la documentation de l'API du plug-in Openwx.
Je suis un geek, je veux juste pouvoir jouer au chat WeChat via IRC sur la ligne de commande
Veuillez lire les étapes pour utiliser le plug-in IRCShell
Javascript
Python
Java
Vous pouvez parrainer en scannant le code QR de paiement Alipay. Merci pour votre soutien et vos encouragements.
Un merci spécial aux amis qui ont parrainé
Copyright (C) 2014 par sjdy521
Cette bibliothèque est un logiciel libre ; vous pouvez la redistribuer et/ou la modifier sous Licence MIT et Licence Anti 996.