新年好啊~今天正月初二,昨天大年初一 ,就没写博客,怕太积极了,各位受不了,哈哈~
今天就来聊聊整个QQ机器人的概要设计吧,按照上一篇QQ机器人{登录流程篇}来说一下应用的设计。细节就不细聊了,往后可以再起新篇章,针对某个技术点进行总结。
第一次看到QQ机器人是公司一个项目小组用来做系统监控的,就是在一个群里,QQ机器人不断把一些告警或异常信息发出来,这样项目人员就能随时了解系统的状况。当时我觉得挺好玩挺智能的,很好奇他们怎么做到的,后来一忙也就没再继续关注这东西。过了一阵,一个群里又有人在调试QQ机器人,而且是测试组,用来做自动化运维的。比如要去数据库捞个资源或者做下回归测试,只要在群里发一条命令,QQ机器人就会自己去做了。这时,我按捺不住了,去搜索了下QQ机器人,发现腾讯并没有提供接口啊,官方也没提供任何能力,到是看到有网友讨论过这东西。后来私聊了下项目组的人员,发现这确实是个江湖派的东西,一般都是利用webQQ接口来开发的。
最后决定自己去扒webQQ HTTP接口协议(为什么不去问同事要?我喜欢一手资料,还有就是作为一枚程序员的自尊心,相信自己有这能力~),看到网上经常有人扒吉他谱,好牛,现在我也总算能扒点东西了,哈哈~关于协议的内容不在这篇文章说了,期待协议篇吧(或者你也可以自己去扒)!
该怎么设计这个机器人呢?当时也想了好久,一开始考虑也就像其他项目组一样,申请个新QQ号,作为机器人。但后来想想,这样不是很好玩,得加好友才行,麻烦,要是能让自己的QQ变成机器人,也就是把自己的QQ托管给机器人,这样或许会好玩些吧,技术层面也多些挑战。
所以最后决定这么设计:
给用户提供访问链接,用户进入页面后,扫描二维码,确认登录,到此用户QQ机器人托管完成。如果用户不玩了,想退出,那么再次访问刚刚的页面,点击退出按钮即可。用户也可以设置回复选项,比如是否允许机器人自动回复、设置允许自动回复的好友等(具体流程可以见