linux中用IRC聊QQ:https://www.douban.com/note/592778849/
先看几张效果图:
用上mojo-weixin的是在找linux下好用的qq找到的另外一个项目。
众所周知,QQ对linux最不亲和友好,从发布过一个for linux的QQ测试版之后,就再也没有动静,webqq也取消了图片、视频等的支持。linux下各种有关QQ的项目生命周期不会超过两年。
自己又用不习惯 wineQQ,就找到了mojo::webqq。使用之后,发现了微信,也是同一个作者的开源项目。
mojo::webqq就不说明,在这里只说说mojo::weixin这个项目。
优点是:
perl开发,并且开源。
插件多,可以挂机器人,查天气(后面会列出已经有的插件),只要你会perl,自己可以写出你想要的插件,可以说无所不能。
可以自动保存所有收到和发送的图生、视频以及语音。
有API,你可以开发出你想要的功能。
缺点:
在IRC终端上,不能显示图片和视频,需要手动复制保存的地址到浏览器查看。(网页版IRC上可以正常浏览。)
项目网址:https://github.com/sjdy521/Mojo-Weixin
项目官方介绍:
使用Perl语言编写的微信客户端框架,基于Mojolicious,要求Perl版本5.10+,可通过插件提供基于HTTP协议的api接口供其他语言或系统调用
特色功能:
支持 发送/接收文字、图片、视频、语音、表情、文件等多种媒体消息(网页版自身功能范围)
支持 新增/失去好友、新增/退出群组、新增/失去群成员 等事件提醒
支持 创建群组、群组加人/踢人、发送/接受好友验证申请、设置群组名称、设置好友备注
支持 Windows/Linux/Mac 多平台,支持docker镜像,易安装部署,不懂Perl也能用
提供 基于HTTP协议的API接口 ,简洁丰富,方便和其他编程语言集成
主人人品极好,你懂的
安装方法:
一、安装cpanm工具
方法a: 通过cpan安装cpanm
代码: 全选
$ cpan -i App::cpanminus
代码: 全选
$ 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
之所以说 Mojo::Weixin是一个微信框架,主要是因为它有着丰富的插件。
插件列表:
三、编写脚本并使用微信Mojo::Weixin::Plugin::ShowMsg 打印消息到终端
Mojo::Weixin::Plugin::ImageStore 按日期目录保存发送和接收的图片
Mojo::Weixin::Plugin::AutoVerify 收到好友验证请求时自动批准同意
Mojo::Weixin::Plugin::IRCShell 将微信协议转换成irc协议
Mojo::Weixin::Plugin::Perldoc 实现通过微信消息查询perldoc文档
Mojo::Weixin::Plugin::Perlcode 通过微信消息执行Perl代码,仅支持在linux系统上使用
Mojo::Weixin::Plugin::UploadQRcode 将二维码图片上传至腾讯云对象存储,获取到公网可以访问的url地址
Mojo::Weixin::Plugin::ShowQRcode 调用系统图片查看程序来示二维码(目前仅支持win)
Mojo::Weixin::Plugin::ShowQRCodeInTerm Linux系统下直接打印二维码到终端
Mojo::Weixin::Plugin::PostQRcode 将登陆二维码以邮件附件的形式发送到指定邮箱
Mojo::Weixin::Plugin::Beauty 识别关键字发送美图
Mojo::Webqq::Plugin::Riddle 输入关键字进行猜谜
Mojo::Weixin::Plugin::Translation 多国语言翻译功能
Mojo::Weixin::Plugin::Weather 查询天气预报
Mojo::Weixin::Plugin::XiaoiceReply 利用微软小冰实现智能回复
Mojo::Weixin::Plugin::SmartReply 实现机器人的智能回复
Mojo::Weixin::Plugin::KnowledgeBase2 自定义问答知识库
Mojo::Weixin::Plugin::Openwx API
启动mojo:weixin只需要写一个perl脚本就可以,项目网页上有实例。在使用前强烈要求多看看说明文档。
下面是个人用的脚本(功能有:自动能过好友验证,IRC协议使用微信,按日期在指定目录下保存图片视频,在微信上发送“指尖的碰触”、“樱花祭”、“运动最美”和“普拉达手包”会回复图片,多国语言翻译,通知问答,Linux系统下直接打印二维码到终端手机扫描登陆,),保存为weixin.pl:
代码: 全选
use Mojo::Weixin;
my $client = Mojo::Weixin->new(account=>"mati",media_dir=>"/home/xxx"); #保存多媒体到指定目录下,/home/xxx替换成你想保存多媒体文件的目录
$client->load("ShowMsg");
$client->load("AutoVerify"); #自动通过好友验证
$client->load("IRCShell",data=>{ listen=>[ {host=>"127.0.0.1",port=>7777},],
load_friend => 0,
});
#默认是0 是否初始为每个好友生成irc虚拟帐号并加入频道 #我的好友
#支持的参数包括:
#listen #监听的地址和端口,数组的形式来支持多个地址
# # listen=>[ {host=>"127.0.0.1",port=>6667}, {host=>"127.0.0.1",port=>6668}]
# # 表示监听127.0.0.1:6667和 127.0.0.1:6668两个端口
#master_irc_user #和qq匹配的irc user帐号,默认按照和qq号相同的user或者客户端ip是本机地址作为识别规则
# load_friend #0|1 默认是0 是否初始为每个好友生成irc虚拟帐号并加入频道 #我的好友
#image_api 兼容elimage图床api地址,将qq图片转为连接,方便在irc上查看图片,默认没有启用
#推荐依云的elimage http://img.vim-cn.com/
##
$client->load("Beauty",data=>{
file => './Beauty.dat', #可选,数据库保存路径,默认当前目录
board=>[
{command=>"指尖的碰触", url=>'http://huaban.com/boards/15870083/'},
{command=>"樱花祭", url=>'http://huaban.com/boards/30383338/'},
{command=>"运动最美", url=>'http://huaban.com/boards/13470174/'},
{command=>"普拉达手包", url=>'http://huaban.com/boards/32035670/'},
]
});
$client->load("Translation");
#$client->load("SmartReply");
#智能回复--只有QQ支持多参数
$client->load("SmartReply",data=>{
apikey => '6e94caf3a6034506bb2fd7dfed9bbec0', #可选。最好去自己申请APIkey。
# allow_group => ["大好河山可骑驴","9271754"], #可选,允许插件的群,可以是群名称或群号码
ban_group => ["私人群",123456], #可选,禁用该插件的群,可以是群名称或群号码
ban_user => ["笨蛋",ms-xiaoice], #可选,禁用该插件的用户,可以是用户的显示名称或qq号码
notice_reply => ["不要这样一直@人家,人家很忙的","住手,你艾特次数太多,等下把你家电全关了"], #可选,提醒时用语
notice_limit => 130 , #可选,达到该次数提醒对话次数太多,提醒语来自默认或 notice_reply
warn_limit => 145, #可选,达到该次数,会被警告
ban_limit => 211, #可选,达到该次数会被列入黑名单不再进行回复
period => 250, #可选,限制周期,单位 秒
is_need_at => 1, #默认是1 是否需要艾特才触发回复
keyword => [qw(九月,阿拉蕾,宝宝)], #触发智能回复的关键字,使用时请设置is_need_at=>0
});
$client->load("ShowQRCodeInTerm");
$client->run();
把上面内容保存到winxin.pl,在终端执行perl weinxin.pl,然后手机微信扫描二维码就可以登陆微信,打开IRC,加入服务器127.0.0.1/7777,就可以在IRC上面和微信好友聊天了。
当然你可以把它放在容器里,在远程运行,二十四小时不断电……
在使用的过程中,有任何问题可以加QQ群讨论:498880156。
之前论坛有帖子推荐过:https://www.ubuntu.org.cn/viewtopic.php?f=73&t=479645
关键词: mojo-weixin mojo-webqq linuxqq linux-weinxin mojo:weinxin mojo:webqq linuxQQ linux微信 机器人 微信机器人 QQ机器人