我的Docker之路DockerAwesome Docker

如何get到春节里的每一个红包?

2016-02-03  本文已影响74人  灵雀云

再过一周,中华儿女即将迎来新一轮的全民抢红包浪潮,微信朋友圈首先为这场狂欢吹响了号角,对此,大部分人都表示:

‌‌

不知道微信接下来还有啥幺蛾子,但小编觉得还是聊天记录里的红包最靠谱,最实惠。那么如何才能在与家人共享天伦的时候,还能get到微信里的每一个红包呢?本文以QQ接收app分享红包为例教你怎么做!

作者简介:林飞扬,目前在GOZAP从事软件开发,使用编程语言PHP,Node,Java。小小程序员一枚,正在向全栈工程师进军中。

前段时间同事之前用某App特别多,每天都有用此App在QQ上分分享红包,每次要打开QQ上的分享链接领取,领的多了就感觉特别麻烦,懒人总是能想偷懒的办法,我就想有没有一个可以监控自己QQ消息的软件呢。

有了想法之后就要立刻展开行动,首先去GitHub上看下有没有开源项目。搜索之后看到一个比较靠谱的:Mojo-Webqq,一个使用Perl语言编写的Smartqq客户端框架,基于Mojolicious,要求Perl版本5.10.1+,可通过插件提供基于HTTP协议的api接口供其他语言或系统调用。

项目地址:https://github.com/sjdy521/Mojo-Webqq

Dockerfile和依赖文件:https://github.com/329379172/mojoqq-image

云服务商选择『灵雀云』提供容器服务:http://www.alauda.cn/

镜像地址:https://hub.alauda.cn/repos/linfeiyang/mojoqq-image

根据项目作者写的使用方法和文档,很快就在本机运行了起来,运行效果如下:

根据提示的路径找到二维码图片,使用手机扫码登录,执行效果如下图:

至此已经可以成功监控到QQ消息了,接下来就是把消息处理一下了。我使用了比较熟悉的,也是世界上最好的语言PHP,来写了具体的处理QQ消息的接口,具体思路是:

使用Mojo-Webqq的消息上传插件,将消息上传至我的PHP处理接口,然后使用PHP来解析是否有符合条件的URL地址,如有就做我们自己想做的事,也就是领取红包了。PHP的具体代码在这里我就不贴了。

到此软件基本上可以正常工作,接下来就是最重要的部分了:把他做成可以复用的Docker镜像。Docker是什么我就不做讲解了,在Docker如此流行的今天,一个程序员如果不知道是什么就该去补课啦!补课传送门:『Docker入门与实践』『从Docker到CaaS』

Dockerfile编写

经过多个N个版本的迭代,最终代码如下:

其实写这个Dockerfile并不难,主要是多次尝试,不断踩坑的过程,有点考验耐心。之前用Docker官网的镜像仓库,着实有点慢,后来换了灵雀云的快多了,先感谢下灵雀云平台,哈哈。

总结来说就是四步:

1、先搞一个基础镜像包:CentOS 7

其实最一开始使用的并不是这个,而是Perl官方的一个包,后来发现里边有控制台输出乱码的问题,索性就换成了比较熟悉的CentOS 7,但是CentOS这个包确实有点重,未来还有改进空间。

2、安装Perl环境

这个就没啥好讲解的了,从Perl官方找的安装教程也基本就是这样了。

3、安装Mojo:Webqq和其依赖的模块

4、运行主程序

此文件中主要就是监控QQ消息,上传到远端的处理接口,文件地址:https://github.com/329379172/mojoqq-image/blob/master/main.pl

构建镜像

接下来就是构建镜像,用户的GitHub账号和灵雀云关联之后,就可以直接通过GitHub中的Dockerfile和相关代码生成最终镜像,并上传至镜像仓库中。此时这个镜像就可以在任何有Docker的环境中复用了。

镜像运行

1、在灵雀云的GUI环境中运行

这种方式和Docker的命令行运行方式是一样的

sudo docker run -it -d -e ‘QQ=286587956′ -e’LANG=en_US.UTF-8’ –privileged=true -v ~/:/tmpindex.alauda.cn/linfeiyang/mojoqq-image

2、还可以通过CLI方式运行

登录:

创建服务:

查看日志

大家会发现每种运行方式都会加一个LANG=en_US.UTF-8 环境变量,这个其实就是解决之前说的乱码问题。

分享一个最终的运行结果图:

可以看到成功监听到消息并上传成功了。

其实Mojo-Webqq能做的还有很多,大家可以参考编写功能更强的镜像,像QQ机器人啥的。最后感谢下Mojo-Webqq的作者,写出了如此好的程序。他还写了监控微信聊天消息的开源项目:https://github.com/sjdy521/Mojo-Weixin(为了微信红包,你懂的),大家快去github点个赞吧!

编者最后的话:小编在此强调,如果手不够快,这个工具也只能帮你看看你错过了多少红包啦啦啦啦(逃

上一篇 下一篇

猜你喜欢

热点阅读