如何用Java写一个聊天机器人
文章目录建议结合新版教程看写在前面的的话免责声明你需要提前会的东西我们要使用的框架首先我们先下载一个Demo文件配置Demo里面的的目录结构在配置文件中加上你小号的QQ名字和密码我们加完mybatis之后的目录结构maven里面的配置为了防止SQL注入问题我们用德鲁伊连接池mybatis配置文件建立数据库Mybatis的映射文件Mybatis的mapper层mybatis的增删改查pojo层工具类
文章目录
建议结合新版教程看
写在前面的的话
免责声明
你需要提前会的东西
我们要使用的框架
首先我们先下载一个Demo
文件配置
Demo里面的的目录结构
在配置文件中加上你小号的QQ名字和密码
我们加完mybatis之后的目录结构
maven里面的配置
为了防止SQL注入问题我们用德鲁伊连接池
mybatis配置文件
建立数据库
Mybatis的映射文件
Mybatis的mapper层
mybatis的增删改查
pojo层
工具类
机器人的Talk(根据关键词从数据里面查询 如果查询到了就返回数据)
机器人的Study学习功能
机器人的删除功能
使用工具的模块类All_method
这位更是重量级---- MyGropListen 群聊天监听
一切的开始---启动类
首次登陆的时候出现滑动验证的问题咋办
第一次的时候会弹出来一个弹窗
机器人效果
上传到Linux服务器 并且运行
建议结合新版
写在前面的的话
这是一个非常简单的聊天机器人的教程
本来我是不想写的(因为我是懒狗)
但是我在网上找不到类似的教程所以就自己打算写一个
这个机器人我只完成了最简单的功能
学习
根据关键词来产生回复
复读
还有很多其他的功能可以开发 但是因为我是懒狗所以我打算让我可爱的学弟去进行开发
如果你发现你的机器人群聊只能发送短字符并且机器人的私聊功能没有问题
那么你的机器人是被腾讯给风控了
这是正常的
解决方法是 你自己上机器人的QQ号多水群就行了
过一段时间风控就被解除了
免责声明
我不是大佬 我的水平也很低
里面实现的功能也是非常简单的功能(复杂的我也不会)
我从开始做到做完也就花了两天时间 对这个框架的很多功能也不是很了解
我的很多功能也是用很多的方法来实现的
如果你有更好的方法希望你也能写一篇教程让我也学习一下
你需要提前会的东西
最基本的MySQL
一点点Linux的使用经验
最简单的Mybatis的使用
一点点使用Spring这种框架的经验(不会也没什么问题)
我们要使用的框架
我希望你在看这篇教程之前先提前看一下教学视频 起码看一下二十多分钟的
<<稍微短一点的视频>>
这个是框架的地址里面已经包含的有教程
框架地址
这里是写框架的老哥录的教学视频 可以说是非常详细了
这里是链接地址
如果你懒得看这个长的 起码你得看一下这个教学视频
稍微短一点的视频
这里面所提供的资料足够你自己完成一个机器人的开发了
但是这篇文章是面向纯纯的小白的所以会更加详细一点
首先我们先下载一个Demo
在教学视频里面已经嗦了Demo在哪下 为了避免小白找不到Demo在哪下我直接把这个Demo的下载链接贴到这里了
Demo地址
文件配置
Demo里面的的目录结构

视频里面已经对监听器里面的功能已经嗦的很明白了
而且demo里面已经打了很多很多的注释去解释功能了 你们看一下就知道怎么用了

在配置文件中加上你小号的QQ名字和密码

我们加完mybatis之后的目录结构

这个里面加一点点东西
因为我是懒狗所以我就不细嗦了
我直接把我的maven配置给放在这里了
?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>simbot.example</groupId>
<artifactId>simbot-mirai-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<simbot.version>2.3.4</simbot.version>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
<!-- Mybatis核心 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!-- junit测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<version>2.3.11.RELEASE</version>
</dependency>
<!-- MySql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!-- 连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.11</version>
</dependency>
<!--简化bean代码的工具包-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<version>1.18.20</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency>
<!-- mybatis-plus插件依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.1.1</version>
</dependency>
<!-- 使用 mirai 组件。 -->
<dependency>
<groupId>love.forte.simple-robot</groupId>
<artifactId>component-mirai</artifactId>
<version>${simbot.version}</version><!--vv-->
</dependency>
<!-- 定时任务模块 -->
<dependency>
<groupId>love.forte.simple-robot.time-task</groupId>
<artifactId>time-task-quartz</artifactId>
<version>${simbot.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.yml</include>
<include>**/*.xml</include>
<include>**/*.tld</include>
<include>**/*.**</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.yml</include>
<include>**/*.xml</include>
<include>**/*.tld</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<!-- main方法所在类。 -->
<mainClass>love.simbot.example.SimbotExampleApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
为了防止SQL注入问题我们用德鲁伊连接池

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)