基于SmartQQ协议的QQ聊天机器人-6

本节的主题是:记录功能实现的过程中的难点及踩坑经历

1. 大麻烦:

  1. SmartQQ协议不支持长文本,字数限制在200字左右(粗略测试的结果)
  2. 我本来想到一个好主意:把【带图片的长文本答案】转【图片】,完美解决QQ单条消息限制字数的缺陷。然而smartqq不支持图片,仅支持文字。
  3. 后来又我考虑一个好主意:自己单独开设一个web展示服务,QQ界面返回的答案就是一个超链接,导向一个答案的详情内容页。然而smartqq仅支持文字,返回的超链接依然是纯文字,无法点击跳转。
  4. 最后只能考虑,自己加工答案,不要让他太长,而且还不带图片。

2. SQLite、ORMLite部署及使用

1.准备

ORMLite部署所需要的依赖{也可以去下载对应的jar文件,加入到项目中,两种方式的结果是一样的,maven更加现代化}

<dependency>
    <groupId>com.j256.ormlite</groupId>
    <artifactId>ormlite-jdbc</artifactId>
    <version>5.0</version> <!-- 事实证明太低的版本会有各种bug,建议不低于5.0-->
</dependency>

<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
<dependency>
    <groupId>org.xerial</groupId>
    <artifactId>sqlite-jdbc</artifactId>
    <version>3.7.2</version>
</dependency>

http://ormlite.com/releases/
从上面手动下载一个ORMLite.jar,
我选的是core-5.0 {要与ormlite-jdbc保持同一版本}
并安装到项目中{安装方法:
https://blog.csdn.net/czbqoo01/article/details/72803450
{我没有完全按上述那么做,但是上述的操作更符合规范}                     

2.下载sqlite,并把它所在路径加入到系统变量Path中;在cmd中测试是否加入成功
3.建立一个空的maven工程:
4.建立测试的java文件
5.测试

6.方案3:不使用maven依赖部署ORMLite:

直接导入各个jar包,然后建立java项目执行ORMLite的测试
1. 准备:
2. 建立java项目
3. 编写ORMLite测试文件
4. 执行测试

7.我对ORMLite的使用笔记:

1.常用接口:数据库连接、CURD、重点是查询相关的api
2.尝试对ORMLite进行二次封装,提高操作ORMLite的效率
(更多详细图文步骤待完善)

3. 把ORMLite/SQLite整合到小薇机器人项目

  1. 使用maven依赖方式把ORMlite-core.jar、ORMLite-jdbc、SQLite-JDBC都加入到到小薇项目;并且下载sqlite数据库(无需安装,只需要把安装文件根目录添加到系统变量Path中)
  2. 编写测试文件(测试数据库连通及CURD小代码段)
  3. 编写添加【问题关键字-答案、根据问题关键字查询答案】的逻辑函数
  4. 修改小薇机器人项目的QQService.java中的answers这个函数,调用ORMLite接口收发数据
  5. 上述操作的图文详细步骤如下:(待复现补充)

4. 参考:

https://blog.csdn.net/fl1623863129/article/details/72887339
https://blog.csdn.net/mingjie1212/article/details/52504181
https://blog.csdn.net/zffenger/article/details/53020281
https://blog.csdn.net/zffenger/article/details/53020281
https://blog.csdn.net/hmyang314/article/details/43197145

posted @ 2018-05-15 16:41  hzhang_NJU  阅读(932)  评论(0编辑  收藏  举报