Mojo qq&weixin客户端,基于Mojolicious

使用Perl语言编写的Smartqq客户端框架,基于Mojolicious,要求Perl版本5.10+,可通过插件提供基于HTTP协议的api接口供其他语言或系统调用

郑重声明

本项目完全遵循QQ官方提供的原始功能,不包含任何破坏、盗号等行为,本项目完全开源,目的是为了促进技术交流学习,禁止任何对国家、企业、个人等构成危害的非法用途,否则后果自负

特色功能

  • 支持 群组踢人、禁言、设置/取消管理员、修改群成员名片、邀请好友入群、群签到
  • 支持 获取好友、群组、群成员的真实QQ号码
  • 支持 新增/失去好友、新增/退出群组、新增/失去群成员 等事件提醒(非实时)
  • 支持 Windows/Linux/Mac 多平台,支持docker镜像,易安装部署,不懂Perl也能用
  • 提供 基于HTTP协议的API接口 ,简洁丰富,方便和其他编程语言集成
  • 一个产品狗的倾情之作,代码由内而外都更加注重“用户体验”,外加主人人品极好,你懂的

效果展示

敲一行命令就能启动一个智能聊天机器人,Perl 和你都如此优雅. Enjoy!

cpanm Mojo::Webqq && perl -MMojo::Webqq -e "Mojo::Webqq->new->load('ShowMsg')->load('SmartReply')->run()"

[15/09/30 15:11:59] [info] 初始化 smartqq 客户端参数...
[15/09/30 15:11:59] [info] 检查验证码...
[15/09/30 15:11:59] [info] 检查结果: 很幸运,本次登录不需要验证码
[15/09/30 15:11:59] [info] 正在获取登录二维码...
[15/09/30 15:11:59] [info] 二维码已下载到本地[ /tmp/mojo_webqq_qrcode_xxx.png ]
[15/09/30 15:12:00] [info] 登录二维码已经发送到邮箱: ******
[15/09/30 15:12:00] [info] 等待手机QQ扫描二维码...
[15/09/30 15:12:43] [info] 手机QQ扫码成功,请在手机上点击[允许登录smartQQ]按钮...
[15/09/30 15:12:46] [info] 检查安全代码...
[15/09/30 15:12:47] [info] 设置登录验证参数...
[15/09/30 15:12:47] [info] 尝试进行登录(2)...
[15/09/30 15:12:47] [info] 登录成功
[15/09/30 15:12:47] [info] 更新个人信息...
[15/09/30 15:12:47] [info] 更新好友信息...
[15/09/30 15:12:47] [info] 更新[ PERL学习交流 ]信息
[15/09/30 15:12:52] [info] 更新[ Mojolicious ]信息
[15/09/30 15:12:55] [info] 开始接收消息...
[15/09/30 14:09:20] [群消息] 小灰|PERL学习交流 : Mojo::Webqq不错哦
[15/09/30 14:10:20] [群消息] 我->PERL学习交流 : 多谢多谢

通过irc客户端在linux终端上使用QQ

 

IT男装逼利器:如何像黑客一样聊天(图片来自 @動感光波)

安装方法

1.安装perl

安装之前请先确认下你的系统是否已经安装了Perl,因为除了windows,其他大部分的平台默认都可能已经预装过

并且你的Perl版本至少5.10.1+,推荐5.14+

2.安装cpanm包管理工具(如果系统已经安装了cpanm可以忽略此步骤)

方法a: 通过cpan安装cpanm

$ cpan -i App::cpanminus

方法b: 直接在线安装cpanm

$ curl -kL https://cpanmin.us | perl - App::cpanminus

官方服务器在国外,如果无法访问,可以选择下面的命令:

$ curl http://share-10066126.cos.myqcloud.com/cpanm.pl|perl - App::cpanminus

3.使用cpanm在线安装 Mojo::Webqq 模块(如果系统已经安装了该模块,执行此步骤会对模块进行升级)

$ cpanm Mojo::Webqq //根据情况可能需要使用管理员权限"sudo"

如果安装过程中一直提示下载失败,很可能是因为访问到国外服务器网络比较差

这种情况下可以尝试按如下方式手动指定国内的镜像站点

$ cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq

4.安装失败可能有帮助的解决方法

如果你运气不佳,通过cpanm没有一次性安装成功,这里提供了一些可能有用的信息

在安装 Mojo::Webqq 的过程中,cpan或者cpanm会帮助我们自动安装很多其他的依赖模块

在众多的依赖模块中,安装经常容易出现问题的主要是 IO::Socket::SSL

IO::Socket::SSL 主要提供了 https 支持,在安装过程中可能会涉及到SSL相关库的编译

对于 Linux 用户,通常采用的是编译安装的方式,系统缺少编译安装必要的环境,则会导致编译失败

对于 Windows 用户,由于不具备良好的编译安装环境,推荐采用一些已经打包比较全面的Perl运行环境

例如比较流行的 strawberryperl 或者 activeperl 的最新版本都默认包含 Mojo::Webqq 的核心依赖模块

RedHat/Centos:

$ yum install -y openssl-devel

Ubuntu:

$ sudo apt-get install libssl-dev

搞定了编译和运行环境之后,再重新回到 步骤2 安装Mojo::Webqq即可

如何使用

1.我对Perl很熟悉,是一个专业的Perler

该项目是一个纯粹的Perl模块,已经发布到了cpan上,请仔细阅读 Mojo::Weqq 模块的使用文档

除此之外,你可以看下 demo 目录下的更多代码示例

2.我是对Perl不熟悉,是一个其他语言的开发者,只对提供的消息发送/接收接口感兴趣

可以直接把如下代码保存成一个源码文件(必须是UTF-8编码),使用 perl 解释器来运行

#!/usr/bin/env perl
use Mojo::Webqq;
my ($host,$port,$post_api);

$host = "0.0.0.0"; #发送消息接口监听地址,没有特殊需要请不要修改
$port = 5000; #发送消息接口监听端口,修改为自己希望监听的端口
#$post_api = 'http://xxxx'; #接收到的消息上报接口,如果不需要接收消息上报,可以删除或注释此行

my $client = Mojo::Webqq->new();
$client->load("ShowMsg");
$client->load("Openqq",data=>{listen=>[{host=>$host,port=>$port}], post_api=>$post_api});
$client->run();

上述代码保存成 xxxx.pl 文件,然后使用 perl 来运行,就会完成 QQ 登录并在本机产生一个监听指定地址端口的 http server

$ perl xxxx.pl

 

资源扩展:

该项目(Mojo-Webqq)Github地址-传送阵

该项目(IRCshell)Github地址-传送阵

崔哲博客本文短连接地址 : https://xn--xwr12q.xn--fiqs8s/0qO2D
点赞