https://github.com/b3log/xiaov
XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动:
-
监听多个 QQ 群消息,发现有“感兴趣”的内容时通过图灵机器人或百度机器人进行智能回复
-
监听到的 QQ 群消息可以配置推送到论坛某个接口上,以实现论坛弹幕或者动态聚合效果
-
在论坛代码中调用小薇进行 QQ 消息推送,比如论坛有新帖时自动推送到 QQ 群
-
加小薇为好友后可通过暗号(key)让她群推消息
总之,如果你需要一个连通 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.pushGroupUserCnt 定义了群推时群人数的下限,只有大于等于这个人数的群才推送
-
qq.bot.ack 定义了是否启用消息送达确认机制(小薇的守护),默认不启用
-
bot.follow.keywords 定义了监听群消息时的关键词,碰到这些词就做处理,比如对于群消息:“如何能在 3 天内精通 Java 呢?”包含了关键词 Java,机器人就对其进行处理
-
bot.follow.keywordAnswer 定义了监听群消息时出现了关键词后的回复模版
-
forum.api & forum.key 定义了论坛 API 地址和口令,小薇会将所有监听到的消息通过该 API 转发到论坛
论坛推送 QQ 群
-
功能:小薇提供给论坛调用的 HTTP 接口,用于将论坛的内容推送到 QQ 群
-
URL:/qq
-
Method:POST
-
QueryStr:key={qq.bot.key}&msg={msgcontent}(也可以放到 Body 里面)
-
例如:/qq?key=123456&msg=Hello
QQ 群推送论坛
-
功能:由论坛提供给小薇调用的 HTTP 接口,用于将 QQ 群消息推送到论坛(这个接口是论坛实现的,这里是给出小薇的调用方式和参数)
-
URL:{forum.api}
-
Method:POST
-
QueryStr:key={forum.key}&msg={msgcontent}&user={hexuserid}
-
例如:/xiaov?key=123456&msg=Hello&user=0a
小薇的诞生离不开以下开源项目/产品服务:
-
Smart QQ Java:封装了 SmartQQ(WebQQ)的 API,完成 QQ 通讯实现
-
图灵机器人:赋予了小薇抖机灵的能力
-
百度机器人:再次赋予了小薇抖机灵的能力
-
茉莉机器人:再再次赋予了小薇抖机灵的能力
-
Latke:简洁高效的 Java Web 框架