本次发布主要加入了支持讨论组聊天,并增强了稳定性。另外,官方小薇 QQ 机器人已经下线,大家要体验的话请 自建私服~

简介

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

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

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

作者

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

体验

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

  • 加 QQ 群 13139268,然后发消息“小薇,你好!”
  • 请自建私服进行体验
  • 在论坛的社群动态页面可看到由 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 来解决。

发现问题该怎么反馈?

  • 论坛发帖(推荐做法)
  • New Issue

启动

  1. 安装好 Java 1.7+、Maven 2+
  2. Clone 本项目,并在项目根目录上执行 mvn jetty:run

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

  • 第一次扫码是小薇登录
  • 第二次扫码是小薇的守护登录

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

配置

配置文件主要是 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.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 群推送论坛

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

鸣谢

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

  • Smart QQ Java:封装了 SmartQQ(WebQQ)的 API,完成 QQ 通讯实现
  • 图灵机器人:赋予了小薇抖机灵的能力..
  • 百度机器人:再次赋予了小薇抖机灵的能力….
  • Latke:简洁高效的 Java Web 框架

PS:附送一批黑客派论坛注册邀请码:

XYAkBM4DweKCbvvg
xsFDlaomf2fJhaTA
spTg8t7EXn7IEar0
hmW0XO9NCQxbUV6x
sTg5mL765N0opuWj
OOKWTAve3cwQNt9k
YZOGMPp37Br57QBv
BhvUIQI3sBuwtdBV
YF6BTnVG6sELASl4
GI8xRXfksdijdNTq
pWfFuv5pMNNs8txj
YfRujj58780IefrV
Ia97uAHBLIRLjT5H
aKrjmKMy7KFI5ysg
eIfthzHMhrRdi2Lq
wDFgQoIzW3774dHH
SWFt3FoqxxXZ4RcD
mJ3zkdNyatnzqCaM
Dc3YxT7Cebqn3fBQ
ndlRQp9iAAUssKV0

转载于:https://www.cnblogs.com/lanzhi/p/6467798.html

QQ 聊天机器人小薇 2.0.0 发布!相关推荐

  1. QQ 聊天机器人小薇 2.1.0 发布!

    本次发布加入了支持茉莉机器人,并且更容易搭建开发环境,在线显示登录二维码~ 简介 XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动: 监听多个 QQ 群消息 ...

  2. 问答系统实践(二)构建聊天机器人小天1.0

    口水简介 本文主要教你如何构建基于模糊检索和深度学习的聊天机器人.之前在专栏的一篇文章已经介绍了FAQ客服机器人的基本构建流程,所以本文就不重复介绍了.详细请参看: 其实无论客服机器人还是聊天机器人都 ...

  3. 基于PaddleHub的QQ聊天机器人

    基于PaddleHub的QQ聊天机器人 一. 项目背景 本项目是参加[AI达人特训营]的作品. 当你在和朋友在QQ群里划水摸鱼时,你是否会感到有一丝枯燥,没事别担心.为了增加群友们的划水乐趣,提高群友 ...

  4. 基于Nonebot2实现QQ聊天机器人商品查询【Nonebot插件教程】

    文章目录 前言 商品页面分析 插件编写 彩蛋 前言 本插件是基于Nonebot2 的QQ聊天机器人.通过集成京东商品爬虫,将京东网站中的优质产品推荐给用户,本文对京东官网源码信息进行了分析,并附上了完 ...

  5. 机器人聊天软件c#_C#制作简易QQ聊天机器人

    最近对QQ聊天机器人比较感兴趣,奈何一直没找到C#的源码,就自己摸索,好了废话不多说了,开始正题. 首先我们要准备的是C# 的SDK下载地址:http://pan.baidu.com/s/1geW0X ...

  6. webqq2协议分析和qq聊天机器人简单实现(转)

    webqq2协议分析和qq聊天机器人简单实现 转之http://hfutxf.javaeye.com/blog/800866 通过webqq接口,可以实现发送qq消息接收qq消息等,这样,想实现一个q ...

  7. python qq聊天机器人_Python QQBot库的QQ聊天机器人

    本文实例为大家分享了Python QQBot库的QQ聊天机器人的具体代码,供大家参考,具体内容如下 1.安装 pip install qqbot 2.主动发出消息 from qqbot import ...

  8. 智能聊天机器人小黄鸡及其制作方法

    讲前先预热一下,如果有还不熟悉小黄鸡的亲~欢迎大家戳这里 http://mysimi.sinaapp.com/ 自制小黄鸡一枚,欢迎测试.. 暂且叫他小黄鸡2号~1号在后面哈 大家好,我是沐儿,今天很 ...

  9. webqq2协议分析和qq聊天机器人简单实现

    转之http://hfutxf.javaeye.com/blog/800866 通过webqq接口,可以实现发送qq消息接收qq消息等,这样,想实现一个qq聊天机器人,就不是什么难事情了了,下面开始一 ...

最新文章

  1. HTML5 Web SQL
  2. 显示计算机程序的表格如何打开,电脑表格怎么小窗口显示不出来怎么办
  3. Linux学习记录-7
  4. [NewLife.XCode]实体类详解
  5. 北大“四大疯人院”之说
  6. python定义空列表lt_Pythonlt;1gt;List
  7. python 查看excel 多少行_13行代码实现对Excel自动分表(python)
  8. vr降噪器英文是什么_耳机降噪功能这么多,说说什么是ANC、ENC、CV...
  9. linux系统下安装GCC编译器
  10. 如何用c语言编写控制台小游戏,使用c语言写WIN32控制台小游戏 贪吃蛇
  11. 2019年虚拟机备份软件大盘点
  12. docker端口映射但外网无法访问解决方案
  13. Linux进程管理与控制课后作业
  14. cadence617安装教程linux,CentOS7安装cadenceIC617(三) 启动篇
  15. ​【优化求解】基于人工蜂群算法求解无刷直流电机PID控制matlab代码
  16. python 读取pkl_如何打开.pkl的文件
  17. python27.dll是系统自带的吗_Windows 10自带6款超强工具!好用又免费!
  18. 茶旅云团建之旅,就选安化云台山风景区
  19. 创意小发明:单片机制作电容电阻测量仪 (含C语言原源码,仿真文件与实物图)
  20. 理性探讨:赚多少月薪,才称得上不穷?

热门文章

  1. 自定义View之王者荣耀等级进度条
  2. 软件工程第一次作业:博客初体验
  3. 十进制转换十六进制Java实现
  4. Ubuntu查看系统内存和CPU运行情况
  5. 接龙管家-Python自动打卡(续)获取接龙管家token
  6. 雅虎35条性能优化建议
  7. android数据恢复实现,安卓手机的数据恢复与备份
  8. 基于jQuery的表单验证插件Validation Engine
  9. 常见的反爬虫技术有哪些?如何防止别人爬自己的网站?
  10. 关于盐池甘记畔地下大峡谷洞窟壁画及 有关问题的调研报告