扫码阅读
手机扫码阅读

基地树洞 | 自动化小系列之番外篇

116 2024-03-14

自动化小系列

之番外篇

程序员或许只是一份工作,编码或许是为了生存,但是归根结底,我们为什么要写代码?


有没有⼀种可能,在我们的日常工作生活中,代码的初衷就是为了提升工作作效率,减少不必要的重复!


天我们主要聊的是代码如何实现⾃动化机器人。


#  写在前面

还记得我上⼤学的时候,和朋友们⼀起玩minecraft游戏的私服,当时有⼀个操作让我很惊艳就是服主实现了同步游戏聊天和QQ群聊天,即游戏内和QQ群内消息互通,⽽且还能通过将某个群成员设置成机器⼈与我们互动,惊掉了我的下巴。

#  回顾历史

我当时就因为这个,开始了我的好奇探索之路。


后来,我开始在搜索关于聊天机器人的解决方案。通过在网上的调研搜索,发现了⼀些可以直接使⽤的软件,就比如当初我的最爱酷Q机器⼈(现在已经“凉了”)和微信的wxpy库(也“凉凉”了),直接帮助我实现了DIY消息回复,让我在⼤学时期斩获不少粉丝。


在很早的时候,腾讯出过⼀个web应⽤叫做网页QQ,我觉得应该有不少⼈还记得吧,在这个网页QQ的基础上,各式各样的QQ机器⼈诞⽣了

很多QQ机器⼈都是通过这个来实现了http消息的拦截、过滤与转发。(关于http我就不过多介绍了...)


后来,网页QQ暂停服务了,导致很多机器⼈就凉了,⼤家为了解决这⼀问题,开始了各⾃的探索。


有些⼈就做了插件,实现了将QQ的信息转换成http的形式,这样,我们又可以愉快地进行玩耍了。具体实现细节还是比较麻烦的,这里不再赘述。


这和我们今天的自动化有什么关系呢?


当然,有了这种思想,我们是不是可以实现很多收发消息的⾃动化?比如我们想通过QQ或微信做⼀个互动备忘录?通过QQ或微信群做⼀个签到服务?


基本上,QQ小冰能实现的功能我们都可以实现,甚至我们可以DIY做到任何功能。


每天⾃动给女神发早安?每天⾃动汇报天⽓预报?甚⾄⾃动客服我们是不是也可以做呢?......


/ 片来源网络 /

这不就是商机吗?


#  实战案例

前⾯我们说到,很多机器⼈都已经“不复存在”了,那现在还有什么可以玩的项目?去年,我在github上发现了⼀些很给力的开源项⽬,所以今天咱们来聊聊这个项目怎么实现自动化的。


我最开始发现的是⼀个叫 go-cqhttp 的开源项⽬(有需要⾃⼰搜索即可),它实现了HTTP API、反向HTTP POST、正向Websocket、反向WebSocket。


我当时还在那⾥用java写socket,直到我发现我的消息只能收不能发,研究了3天无果后,我开始到处加群寻求帮助,告诉他们我在正在进行网络编程,我甚⾄想暗示他们我很厉害,我要自己在上面定制化开发。


可我终究是高看了自己,我果然还是一个小菜鸡,经过大佬们的“点拨”后,我才知道,原来早已经有各路神仙把这玩意做成了框架,有些直接⽤springboot导⼊starter就好。


有些⼈甚至有自己的框架,自己实现了IOC容器,开源项目大佬就是牛,我是真的学到了很多,也是从那时候,我也坚定了⼀定要自己做开源的信念。


/ 图片来源网络 /

随后,我就开始了正式的机器人实践了,使⽤mysql做数据库,将服务部署到我的服务器上面,运行了大半年了,也是比较稳定的。我也按照三层结构,controller,service,dao做了简单分层。


我依赖的开源项目名称叫simbot ,我相信,如果你会java的话,通过入门文档,你能轻而易举的上手这个项目。


我的项⽬由于个人原因不能开源,不能给大家参考我的代码,不过大家可以加⼊他们官方的QQ群进行讨论学习。


关于我的项⽬,就浅浅的看下:


#  说在最后

这篇文章章就是咱们⾃动化的最后⼀篇文章了,感谢大家的支持!

如果我的文章你看过的话,这些思想应该够解决90%的生活中的问题了吧,真的希望能对大家有所启发,有所帮助。

生活不停,思考不止,就到这啦~

原文链接: http://mp.weixin.qq.com/s?__biz=Mzg5MzUyOTgwMQ==&mid=2247513168&idx=1&sn=1a381174e0d27512d546686197b63957&chksm=c02f8ff6f75806e0a116c63693c44dcb13b6f740e48e724080598c598b549486032b19e408a7#rd