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

news2024/11/16 23:55:39

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

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

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

 

#  写在前面 

还记得我上⼤学的时候,和朋友们⼀起玩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%的生活中的问题了吧,真的希望能对大家有所启发,有所帮助。

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

---------------------------------------------------------  我是分割线  ------------------------------------------------------

关于“自动化”更多分享内容集合⬇⬇⬇

· 基地树洞 | 自动化小系列之整合篇

·  基地树洞 | 自动化小系列之OS脚本篇

·  基地树洞 | 自动化小系列之浏览器篇

·  基地树洞 | 一招让学习规划不再繁琐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/22805.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

钱包追踪分析的 3 个使用案例

Nov. 2022, Vincy Data Source: Footprint Analytics - Wallet Profile 钱包跟踪分析让分析师了解区块链用户的链上活动和持仓情况。 在本文中,我们将介绍钱包分析器发现的一些指标。 Footprint Analytics - Wallet Profile Footprint Analytics 从中挑选相对比较…

JVM 核心技术 - 知识点整理

JVM 核心技术 JAVA 前言 JDK (Java Development Kit) JRE 开发工具JRE(Java Runtime Environment) JVM (Java Virtual Machine) 类库一次编译,到处执行的原理: java字节码可以在有JVM的环境中运行,不关心操作系统的版本,减少…

Spring Cloud版本,Spring Boot版本详细对应关系

目录 一、官网(网页版) 二、官网(API接口) 三、根据历史官方文档梳理、保存的表格 四、官方(wiki)Spring Cloud的各个组件与Spring Boot支持、对应关系 有多个方式可以查看Spring Boot和Spring Cloud版本…

嵌入式分享合集107

一、Wi-Fi HaLow Wi-Fi HaLow很快就会出现在我们日常生活中的智慧门锁、安保摄影机、可穿戴设备和无线传感器网络上。什么是Wi-Fi HaLow?与传统的Wi-Fi(4/5/6)有何不同?究竟是什么让Wi-Fi HaLow成为物联网的理想协议?…

【初阶数据结构】——带头双向循环链表(C描述)

文章目录前言带头双向循环链表实现1. 结构介绍2. 结点创建3. 初始化4. 销毁5. 头插6. 头删7. 尾插8. 尾删9. 打印10. 查找11. 在pos之前插入数据12. 删除pos位置13. 判空14. 计算大小源码展示1. DoubleList.h2. DoubleList.c3. Test.c前言 上一篇文章我们学习了单链表&#xff…

SpringBoot自动装配原理

目录一、前言二、SpringBoot自动装配核心源码2.1、SpringBootApplication2.2、EnableAutoConfiguration2.3、Import(AutoConfigurationImportSelector.class)2.3.1、selectImports方法2.3.2、getAutoConfigurationEntry方法2.3.3、getCandidateConfigurations方法2.3.4、Spring…

在阿里云 ACK 上部署 EMQX MQTT 服务器集群

云进入以「应用为中心」的云原生阶段,Operator 模式的出现,则为 Kubernetes 中的自动化任务创建配置与管理提供了一套行之有效的标准规范。通过将运维知识固化成高级语言 Go/Java 代码,使得运维知识可以像普通软件一样交付,并能支…

欧姆龙NJ/NX基于Sysmac Studio的EIP通讯 方式

目录 Omorn - NJ301-1100 AND NX102-9000 EIP - Sysmac Studio 测试案例IP 创建变量类型 通讯配置 控制器程序下载 通讯测试 Omorn - NJ301-1100 AND NX102-9000 EIP - Sysmac Studio 测试案例IP 创建变量类型 通讯配置 控制器程序下载 通讯测试 Omorn - NJ301-1100…

Go语言快速入门笔记

文章目录import匿名导包和别名导包的方式defer语句数组和动态数组固定长度数组切片(动态数组)切片的容量追加和截取map面向对象struct继承多态interface空接口万能类型与类型断言机制变量的内置pair结构变量结构reflect包(反射)reflect反射解析结构体标签…

【Java毕设】基于idea Java的在线考试系统(附源码+课件)

项目介绍: 本系统是一个基于java的在线考试系统。它的用户由学生、教师和系统管理员组成。学生登陆系统可以进行在线测试和成绩查询。当学生登陆时,系统会随机地为学生选取试题组成考卷。当学生提交考卷后,系统会自动批改客观题,…

html实现爱情告白(附源码)

文章目录1.设计来源1.1 主界面1.2 执子之手,与子偕老1.3 死生契阔,与子成说1.4 生当复来归,死当长相思1.5 自君之出矣,明镜暗不治1.6 思君如流水,何有穷已时1.7 南有乔木,不可休思1.8 汉有游女,…

快递查询工具,一键查物流,派件时效怎么分析

快递发货后,该如何快速查询到物流信息、比如怎么分析派件时效呢?今天小编给大家分享一个新的技巧,它支持多家快递,一次能查询多个单号物流,还能对查询到的物流进行分析、导出以及筛选,下面一起来试试吧。 …

3000万人气的腾格尔,会和金鸡奖提名电影《巴林塔娜》合作吗

刚刚结束的2022年11月19日,对于“草原歌神”腾格尔来说,注定是要被载入史册的一天。2022年11月19日,是卡特尔世界杯开幕式的前一夜,腾格尔老师也通过某音平台,开启了自己的线上演唱会。 说起明星们的演唱会&#xff0c…

redis 登录案例

下图就是登录controller Controller public class LoginController {RequestMapping("/login")public String Login(String username, String password, HttpServletResponse response){System.out.println(username);System.out.println(password);//判断账号密码 …

微信小程序 | IM交友聊天功能大汇总

📌个人主页:个人主页 ​🧀 推荐专栏:小程序开发成神之路 --【这是一个为想要入门和进阶小程序开发专门开启的精品专栏!从个人到商业的全套开发教程,实打实的干货分享,确定不来看看? …

关系数据库系统中的 NULL 值及其用途

在数据库中,NULL值具有非常特殊的含义。因此,重要的是要理解NULL值不同于零值或包含空格的字段。在今天的博客中,我们将探讨 NULL 值的含义以及如何在 Navicat Premium 中使用NULL。 什么是NULL? 应该注意的是,NULL值…

Linux上部署Kubectl(k8s)

Linux上部署Kubectl(k8s) 1.k8s简介 1.1 Kubernetes 概念 在 k8s 上进行部署前,首先需要了解一个基本概念 Deployment Deployment 译名为 部署。在k8s中,通过发布 Deployment,可以创建应用程序 (docker image) 的实例 (docker container)…

跑步需要哪些运动装备?跑步爱好者者的装备推荐

一开始我认为跑步是不需要装备的,毕竟是基础运动,但问了一下身边的运动大神才明白在长期的跑步锻炼,特别是长跑的过程中好的装备不但可以保护你免受伤害,还能帮助你更好的掌握运动状态,进行合理的锻炼下面我就给大家列…

[附源码]java毕业设计网上书店的设计

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

vite+vue-router4.x配置动态路由

踩过的坑: import直接导入组件; router.addRoute 并不能一次性给你导入(即不是vue-router3.x以下的addRoutes); addRoute后页面空白; 直接上才艺! 我的设计思路是登录后获取token,并存入cookie…