阅读更多

4顶
0踩

开源软件

原创新闻 QQ 聊天机器人小薇 2.2.0 发布!

2016-10-31 15:54 by 见习编辑 88250 评论(0) 有6877人浏览

本次发布主要是修复了 启动扫码 API 返回 100000,并且可以一键启动了!

简介

XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动:

  • 监听多个 QQ 群消息,发现有“感兴趣”的内容时通过图灵机器人或百度机器人进行智能回复
  • 监听到的 QQ 群消息可以配置推送到论坛某个接口上,以实现论坛弹幕或者动态聚合效果,请看实例
  • 在论坛代码中调用小薇进行 QQ 消息推送,比如论坛有新帖时自动推送到 QQ 群
  • 加小薇为好友后可通过暗号(key)让她群推消息

总之,如果你需要一个连通 QQ 群和论坛的机器人,小薇是个不错的选择!

作者

小薇的爸爸叫 Daniel,妈妈叫 Vanessa,其他好心人可以在这里看到。

体验

体验之前一定要先仔细看完这个帖子:如何正确地使用小薇 QQ 机器人

  • 加 QQ 群 13139268,然后发消息“小薇,你好!”(本群主要是 Java 开源程序群,小薇不一定开机)
  • 在论坛的社群动态页面可看到由 QQ 群同步过来的消息

FAQ

如何正确地使用小薇 QQ 机器人?

论坛帖子传送门

为什么要单独做成一个 Web 服务,而不是一个依赖 jar?

做成依赖库的话会随应用部署,从开发的角度是比较方便,但有个致命的问题是应用一般是部署在云端,而登录扫码是在本地,这样会造成 QQ 的异地登录,导致很多问题。

所以需要将小薇部署在本地,保证用手机和小薇启动后 QQ 不出现异地登录。但是这也需要解决一个问题,即需要为小薇提供“内网穿透”的能力,比如使用 ngrok,具体可参考这里

为什么会出现“发送失败,Api 返回码[1202]”?

这个问题是因为 QQ 服务器判断消息有问题时的返回,具体可关注这个 issue

目前已经使用“小薇的守护”进行了改进,大幅度提升了消息发送的成功率。

出现“Api 返回码[103]”怎么破?

先关闭小薇,然后将小薇、小薇的守护两个账号依次分别登录 w.qq.com 后在设置中退出登录,最后再次启动小薇,这时扫码后应该就不会 103 了。

报错 Group list error [groupId=xxxx], please report this bug to developer… 怎么破?

同 103 错误处理步骤。

为什么输出日志是乱码?

是由于控制台编码造成,可以在将 src/main/resources/log4j.properties 中加入 log4j.appender.stdout.Encoding=UTF-8 来解决。

发现问题该怎么反馈?

启动

  1. 安装好 Java 1.7+、Maven 2+
  2. Clone 本项目,并在项目根目录上执行 mvn install
  3. 使用 mvn jetty:run 启动,或者在 target/xiaov 目录下执行命令:
  • Windows: java -cp WEB-INF/lib/*;WEB-INF/classes org.b3log.xiaov.Starter
  • Unix-like: java -cp WEB-INF/lib/*:WEB-INF/classes org.b3log.xiaov.Starter

这样小薇就启动了,然后根据输出提示进行扫码登录:

  • 第一次扫码是小薇登录
  • 第二次扫码是小薇的守护登录(如果启用了守护才会需要扫第二次码)

小薇的守护只需要和小薇在同一个群就行(守护不要用自己的,需要用一个不发消息的 QQ,不然消息监听会有问题)。

另外,如果你一定要在服务器上启动小薇(但真心不建议,请参考 FAQ 第二条):

  1. 打 war 包部署自己的容器,需要修改 latke.props 中的 serverHost 为你服务器的公网 IP、serverPort 为你容器监听的端口,如果你用了反向代理,那么 serverHost 可能就是你绑定的域名、serverPort 是 80。简而言之,这两个值是你最终访问接口时候的值
  2. 登录的扫码可能有点麻烦,这时可以通过 /login 地址来访问二维码,哥考虑得周到吧

配置

配置文件主要是 src/main/resources/xiaov.properties:

  • turing.api & turing.key 定义了图灵机器人的 API 地址和口令
  • baidu.cookie 定义了百度机器人访问需要的 Cookie(登录百度,然后抓包)
  • qq.bot.type 定义了机器人类型,1 是使用图灵机器人,2 则使用百度机器人
  • qq.bot.name 定义了机器人的名字,这个主要是用于识别群消息是否“感兴趣”,比如对于群消息:“小薇,你吃过饭了吗?”包含了机器人的名字,机器人就对其进行处理
  • qq.bot.key 定义了管理 QQ 或论坛发过来的消息群推的口令,需要消息开头是这个口令,验证过后才会群推后面的消息内容
  • qq.bot.pushGroups 定义了群推的群名,用 , 分隔多个群;也可以配置成 * 推送所有群
  • qq.bot.pushGroupUserCnt 定义了群推时群人数的下限,只有大于等于这个人数的群才推送
  • qq.bot.ack 定义了是否启用消息送达确认机制(小薇的守护),默认不启用
  • bot.follow.keywords 定义了监听群消息时的关键词,碰到这些词就做处理,比如对于群消息:“如何能在 3 天内精通 Java 呢?”包含了关键词 Java,机器人就对其进行处理
  • bot.follow.keywordAnswer 定义了监听群消息时出现了关键词后的回复模版
  • forum.api & forum.key 定义了论坛 API 地址和口令,小薇会将所有监听到的消息通过该 API 转发到论坛

API

论坛推送 QQ 群

  • 功能:小薇提供给论坛调用的 HTTP 接口,用于将论坛的内容推送到 QQ 群
  • URL:/qq
  • Method:POST
  • Body:key={qq.bot.key}&msg={msgcontent}
  • 例如:/qq?key=123456&msg=Hello

QQ 群推送论坛

  • 功能:由论坛提供给小薇调用的 HTTP 接口,用于将 QQ 群消息推送到论坛(这个接口是论坛实现的,这里是给出小薇的调用方式和参数)
  • URL:{forum.api}
  • Method:POST
  • Body:key={forum.key}&msg={msgcontent}&user={hexuserid}
  • 例如:/xiaov?key=123456&msg=Hello&user=0a

鸣谢

小薇的诞生离不开以下开源项目 / 产品服务:


其他教程

如果上面的文档看得一头雾水(作者语文高考差点不及格,见谅),请看 下面 由热心开发者提供的图文并茂、绘声绘色的、认真的教程:

 

来自: 黑客派
4
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • jLinq 2.2.0发布了!

    jLinq是一种Javascript查询语言,可轻松处理大量信息。 今天,jLinq 2.2.0发布了,它提供了新的命令,错误修复以及更多功能!

  • QQ聊天机器人教程

    文章目录关于本篇教程使用技术关于simbot所需依赖我的项目源码项目结构目前已实现的功能有可爱的猫猫码群监听及发送信息关于groupmsg发送图片,... 聊天记录持续会话关于机器人启动的问题请参照我的上一篇机器人教程...

  • Nacos 2.2.0 正式发布 !

    删除 1.X 和命名的冗余代码和重复代码更新后 1.x 的 nacos-server 无法直接升级到 2.2.0 ,只能从 2.0.0 进行升级。这些修改并不会影响 1.x 的 nacos-client,还是可以使用 1.X 的客户端 2.2.0 的服务端。增加插件限...

  • 简易AI聊天机器人

    最近我自己搞了个简单的聊天机器人(类似淘宝机器客服一般的),他可以帮你查询疫情的最新消息、汇报天气情况、给你讲笑话、陪你聊天等一些基本的功能。下面就来介绍一下它。 一、制作流程 制作思路 要做一个聊天...

  • chatbot-java:使用Java Stack实现的Web聊天机器人概念证明

    Java中的聊天机器人游乐场 使用Java Stack实现的Web聊天机器人概念证明 该项目是标准的Maven项目,因此您可以将其导入到您选择的IDE中。 您需要安装Java 11+和Node.js 10+。 要从命令行运行,请使用./mvnw spring-...

  • Mvc4 SignalR2.2.0 在线聊天

    .Net MVC4,SignalR V2.2.0 在线聊天Demo,运行后地址栏输入http://站点名称/index ,开启两个窗口即 可聊天

  • QQ一笔画2.2.0.zip

    QQ一笔画2.2.0脚本算法

  • nacos-2.2.0

    nacos-2.2.0

  • SpringBoot 2.2.0.M4 发布!带来大量新特性!以及2.1.6发布!大量bug修复!

    Spring Boot 2.2的第四个里程碑版本已经发布,可以从里程碑仓库获取。此版本关闭了170 多个 issue 和 PR。 以下是部分新特性: 支持用于绑定的构造函数参数的注释 向 RestTemplateBuilder 添加通用标头支持 将 ...

  • SpringBootAdmin2.2.0发布,支持最新SpringBoot-Cloud,新增中文展示!

    SpringBootAdmin2.2.0发布,支持最新SpringBoot-Cloud,新增中文展示! 前言 核心依赖升级 Spring Cloud Hoxton.RELEASE Spring Boot 2.2.1 列举 多语言支持 支持中文、法文、韩文、日文、英文 5国语言 详情...

  • Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程

    Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程 按照文档中的操作步骤,一步步操作就可以完全实现hadoop2.2.0版本的完全分布式集群搭建过程

  • Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程.

    Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程.

  • 魔众Markdown管理系统发布v2.2.0

    2021年12月20日魔众Markdown管理系统发布v2.2.0版本,增加了以下4个特性: - [系统优化] 后台内容列表操作安按钮显示优化 魔众Markdown管理系统,帮助您的企业更好的书写。

  • SparkV2.2.0_hadoop2.7.txt

    spark-2.2.2-bin-hadoop2.7.tgz 百度网盘

  • CAD派客云图发布V2.2.0版本.pdf

    CAD派客云图发布V2.2.0版本.pdf

  • jTessBoxEditor2.2.0 最新版

    jTessBoxEditor2.2.0工具,用于机器学习中图库训练样本的生成,可调整图片上文字的内容和位置

  • hadoop-2.2.0 64位

    此hadoop是hadoop-2.2.0是32位的编译出来的,亲测可用

  • 最新版windows PDMan-win64_v2.2.0.zip

    最新版windows PDMan-win64_v2.2.0.zip最新版windows PDMan-win64_v2.2.0.zip

  • lib60870-2.2.0_104_lib60870版本2.2.0源代码_

    lib60870版本2.2.0源代码分发(IEC 60870-5-101/104的C库)

  • 基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip

    基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip

Global site tag (gtag.js) - Google Analytics