linux中在IRC使用微信

仅仅用于软件推荐,不适合发求软件或软件使用问题方面的贴子
回复
头像
momova
帖子: 3381
注册时间: 2007-07-11 21:43
系统: archlinux
来自: 东江边

linux中在IRC使用微信

#1

帖子 momova » 2016-11-15 0:19

原帖子在:https://www.douban.com/note/591996320/
linux中用IRC聊QQ:https://www.douban.com/note/592778849/

先看几张效果图:
2016-11-14--1479131409_1280x800_scrot.png
2016-11-14--1479131632_1280x800_scrot.png

用上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
方法b: 直接在线安装cpanm

代码: 全选

$ 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机器人
上次由 momova 在 2016-11-19 16:45,总共编辑 2 次。
我来了,我看见了,我征服了!
求勾搭,不管饭。
头像
momova
帖子: 3381
注册时间: 2007-07-11 21:43
系统: archlinux
来自: 东江边

Re: linux中在IRC使用微信

#2

帖子 momova » 2016-11-15 0:28

自己点楼 :em11
我来了,我看见了,我征服了!
求勾搭,不管饭。
头像
linux小菜菜
帖子: 317
注册时间: 2011-02-11 11:02

Re: linux中在IRC使用微信

#3

帖子 linux小菜菜 » 2016-11-23 15:07

:em11 楼主是个牛人!
头像
momova
帖子: 3381
注册时间: 2007-07-11 21:43
系统: archlinux
来自: 东江边

Re: linux中在IRC使用微信

#4

帖子 momova » 2016-11-25 14:35

linux小菜菜 写了::em11 楼主是个牛人!
no牛,牛的都隐居了。
我来了,我看见了,我征服了!
求勾搭,不管饭。
头像
eagle5678
帖子: 1883
注册时间: 2006-07-08 14:07

Re: linux中在IRC使用微信

#5

帖子 eagle5678 » 2016-12-17 20:46

Mojo::Weixin::Plugin::XiaoiceReply 利用微软小冰实现智能回复

这个怎用
头像
eagle5678
帖子: 1883
注册时间: 2006-07-08 14:07

Re: linux中在IRC使用微信

#6

帖子 eagle5678 » 2016-12-18 9:57

网页版 IRC 上怎看图?
crazy5
帖子: 7
注册时间: 2009-05-25 18:54

Re: linux中在IRC使用微信

#7

帖子 crazy5 » 2017-05-23 21:59

我已經正确安装模块,执行 perl weixin.pl 提示 Can't locate Mojo/Weixin.pm in @INC 怎么办
头像
九天星
帖子: 1441
注册时间: 2007-07-14 20:45

Re: linux中在IRC使用微信

#8

帖子 九天星 » 2017-06-11 17:03

自动抢红包呢?
回复