QQ BOT --- 此项目基于开源机器人框架Mirai进行开发,以下内容截取自项目的[README.md](https://github.com/mamoe/mirai/blob/master/README.md) --- ## Mirai **QQ Android** 协议支持库与高效率的机器人框架 纯 Kotlin 实现协议和支持库 mirai 既可以作为项目中的 QQ 协议支持库, 也可以作为单独的应用程序与插件承载 QQ 机器人服务。 **一切开发旨在学习,请勿用于非法用途** ### QQ BOT 功能概述 1. 收集QQ群好友消息,存储到数据库,并进行分析统计,统计结果从web后台进行查看。统计包括以下内容: * 利用 **[tf-idf](https://zh.wikipedia.org/wiki/Tf-idf)** 算法对消息做词频统计,算出某时间段热门关键词、话题 2. 监听QQ群好友消息,触发由web后台管理定义的**指令集**,按照指令类型进行相应处理。如果是**查询指令**,QQ BOT收到请求后会调用指令集对应的**模块**进行处理,并响应处理结果给群用户。如果是 **订阅指令** ,QQ BOT收到请求后会向**[RSSHub](https://docs.rsshub.app/ "RSSHub")**订阅 **主题**,RSSHub的主题**更新**后**推送**给群用户 * ### 相关概念 指令集:可以和QQ BOT进行交互的所有有效指令构成的指令集合的简称。 查询指令:群用户主动向机器人发送查询消息的请求指令。 订阅指令:群用户向机器人订阅消息的请求指令。 一条合法的指令由 `>>>`+`一级指令`+`二级指令`+`占位符`+`参数`组成,比如查询pid(P站图片id)的指令是`>>>query pixiv -p 80353815` 模块:指令集调用的处理器,应用依赖的核心逻辑单元,称之为模块。模块本身不依赖于QQ BOT运行环境,是可独立运行的应用。 目前计划支持`kotlin`和`java`开发的模块。模块内部**封装**了群用户查询消息的**处理逻辑**,这里的处理逻辑实际上是通过`HTTP/HTTPS`协议向服务端爬取消息,进行解析并返回的过程,所以模块暂统称为`爬虫模块`,每个爬虫模块必须提供**输入**和**输出**,输入指解析QQ BOT发送的指令,而响应给QQ BOT的处理结果就是输出。 RSSHub:一个开源、简单易用、易于扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成 RSS 订阅源。RSSHub 借助于开源社区的力量快速发展中,目前已适配数百家网站的上千项内容。 * ### 查询指令速查表: | 功能 | 一级指令 | 二级指令 | 占位符参数 | 指令示例 | | :----: | :----: | :----: | :----: | :----: | | P站id查图 | `query` | `pixiv` | `-p pid` | `>>>query pixiv -p 80353815` | | 随机获取P站图片 | `query` | `pixiv` | `-r` | `>>>query pixiv -r` | | 根据tag随机获取P站图片 | `query` | `pixiv` | `-r -t tag` | `>>>query pixiv -r -t R18` | * ### 订阅指令速查表 | 功能 | 一级指令 | 二级指令 | 占位符参数 | 指令示例 | | :----: | :----: | :----: | :----: | :----: | | 维基百科当年今日 | `subscribe` | `wiki` | `-t` | `>>>subscribe wiki -t` |