教你如何使用Linux终端聊QQ 低调而优雅的装逼——mojo web qq

发布于 2017-12-13  26 次阅读


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

官方介绍

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

MOJO-WEBQQ是可以用来作为一个群管理机器人的程序,但是这里我们只需要实现能够聊QQ这个简单的功能。
第一步我们需要先安装:perl

sudo apt-get install perl

如果出现以下输出说明安装成功

Building and testing Mojolicious-7.46 ... OK Successfully installed Mojolicious-7.46 Building and testing Mojo-Webqq-v2.1.4 ... OK Successfully installed Mojo-Webqq-v2.1.4 2 distributions installed

如果出现IO::Socket::SSL错误的话先安装libssl-dev

debian;

sudo apt install libssl-dev

centos:

yum install openssl-devel

安装后重新安装mojoqq

安装irc模块

安装模块:

# cpanm -v Mojo::IRC::Server::Chinese

如果出现类似输出说明安装成功

ad-multi/perllocal.pod OK Successfully installed Mojo-IRC-Server-Chinese-v1.8.1 Installing /home/luhui/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Mojo-IRC-Server-Chinese-1.8.1/MYMETA.json Installing /home/luhui/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Mojo-IRC-Server-Chinese-1.8.1/install.json 2 distributions installed

创建irc启动脚本:

#!/usr/bin/env perl
use Mojo::Webqq;
my $client = Mojo::Webqq->new();
$client->load("ShowMsg");
$client->load("IRCShell"); #加载IRCShell插件
$client->run();

保存为 qq.pl 即可。
接下来我们就可以使用终端运行 qq.pl
请输入图片描述

ub@ub-QiTianA7400-N000:~$ perl '/home/ub/桌面/qq.pl' 
[17/12/13 15:50:05] [info] 当前正在使用 Mojo-Webqq v2.1.4
[17/12/13 15:50:05] [info] 执行插件[ Mojo::Webqq::Plugin::ShowMsg ]
[17/12/13 15:50:05] [info] 执行插件[ Mojo::Webqq::Plugin::IRCShell ]
[17/12/13 15:50:05] [info] C[ChanServ:虚拟用户]已加入
[17/12/13 15:50:06] [info] 初始化 smartqq 客户端参数...
[17/12/13 15:50:06] [info] 正在获取登录二维码...
[17/12/13 15:50:07] [info] 二维码已下载到本地[ /tmp/mojo_webqq_qrcode_default.png ]
[17/12/13 15:50:07] [info] 等待手机QQ扫描二维码...

按照路径找到二维码图片 打开手机QQ 扫描二维码

^C[17/12/13 15:50:14] [info] 捕获到停止信号[INT],准备停止...
[17/12/13 15:50:14] [info] 清除残留的历史二维码图片
[17/12/13 15:50:14] [info] 清除残留的pid文件
[17/12/13 15:50:14] [info] 客户端停止运行
ub@ub-QiTianA7400-N000:~$ perl '/home/ub/桌面/qq.pl'
[17/12/13 15:51:33] [info] 当前正在使用 Mojo-Webqq v2.1.4
[17/12/13 15:51:33] [info] 客户端加载cookie[ /tmp/mojo_webqq_cookie_default.dat ]
[17/12/13 15:51:33] [info] 执行插件[ Mojo::Webqq::Plugin::ShowMsg ]
[17/12/13 15:51:33] [info] 执行插件[ Mojo::Webqq::Plugin::IRCShell ]
[17/12/13 15:51:33] [info] C[ChanServ:虚拟用户]已加入
[17/12/13 15:51:33] [info] 初始化 smartqq 客户端参数...
[17/12/13 15:51:33] [info] 正在获取登录二维码...
[17/12/13 15:51:34] [info] 二维码已下载到本地[ /tmp/mojo_webqq_qrcode_default.png ]
[17/12/13 15:51:34] [info] 等待手机QQ扫描二维码...
[17/12/13 15:51:58] [info] 手机QQ扫码成功,请在手机上点击[允许登录smartQQ]按钮...
[17/12/13 15:52:01] [info] 检查安全代码...
[17/12/13 15:52:02] [info] 获取数据验证参数...
[17/12/13 15:52:03] [info] 尝试进行登录(2)...
[17/12/13 15:52:04] [info] 帐号(928882650)登录成功
[17/12/13 15:52:04] [info] 清除残留的历史二维码图片
[17/12/13 15:52:04] [info] 更新个人信息...
[17/12/13 15:52:05] [info] 更新好友信息...
[17/12/13 15:52:05] [info] 更新好友扩展信息...
[17/12/13 15:52:08] [info] 更新群列表信息...
[17/12/13 15:52:09] [info] 更新群列表扩展信息...
[17/12/13 15:52:09] [info] 更新讨论组列表信息...
[17/12/13 15:52:09] [info] c[ChanServ:虚拟用户] 已被移除
[17/12/13 15:52:09] [info] 频道 #我的好友 已创建
[17/12/13 15:52:09] [info] [ChanServ:虚拟用户] 加入频道 #我的好友

到这里我们已经成功登上QQ了~ 但是现在还不能够直接和QQ里的好友聊天,我们需要安装一个一个irc客户端,
这里我选择的是irssi,当然也还有其他可以替代的,看个人喜好。
打开终端输入:

irssi -c 127.0.0.1 -p 6667

进入聊天室~。。。。。
请输入图片描述
上图。。~
现在我们已经能和QQ群里面的小伙伴聊天了,使用快捷键
Alt+1~0,对应1~10号窗口
Alt+q~p,对应11~20号窗口
切换QQ群窗口
请输入图片描述
如果要和QQ好友聊天 使用ALT+1 切换到一号窗口
输入

/join #我的好友

即可进入好友集
使用快捷键切换到我的好友频道
输入

/msg 好友昵称 你想说的话

请输入图片描述

教程不难应该都能看得懂吧。。。。。
附一些IRC客户端常用操作命令

/nick 你的QQ昵称 #设置irc的昵称,建议和自己的QQ昵称相同
/user 123456(你的QQ号码) #/user指令不是必须的,设置user为自己的QQ号是为了方便irc server区分主人
/list #列出自己加入的QQ群
/join #我的QQ群名称 #加入指定的某个QQ群
/part #退出该QQ群

进入公开频道
/join #channel
示例:
/join #archlinux-cn
进入密码频道
/join #channel password
退出当前频道
/wc
退出指定的服务器
/disconnect server
示例:
/disconnect irc.freenode.net
退出irssi
/quit
给某人发送私信
/msg nickname
在频道给指定的人发送消息
/say nickname
屏蔽某人聊天内容
/ignore nickname

irssi的快捷键
Alt+1~0,对应1~10号窗口
Alt+q~p,对应11~20号窗口
Ctrl+n/p,切换上/下一个窗口
PageUP/PageDn,查看当前窗口中上/下页讯息
关闭当前窗口
/window close
关闭指定编号的窗口
/window close [窗口编号]
查看窗口列表
/window list


面对人生的深渊,支撑我走下去的,其实是嫉妒、虚荣、不甘和报复。