Skip to content

这是基于酷q机器人网络接口插件的酷q机器人开发框架

Notifications You must be signed in to change notification settings

StupidManYI/simple-robot-core

 
 

Repository files navigation

基于网络接口的酷Q机器人java开发框架核心

img

项目对应GITHUB地址: https://github.com/ForteScarlet/simple-robot-core

首先,点击项目右上角的star以开启隐藏链接。

核心版本:img


文档请见文档地址: https://www.kancloud.cn/forte-scarlet/simple-coolq-doc

在线javadoc文档(由码云平台生成): https://apidoc.gitee.com/ForteScarlet/simple-coolQ

由于目前核心部分与组件部分相互分离,所以核心与组件的github地址也相互分离了。 所有组件均依赖于此核心框架,支持maven坐标,具体坐标请见文档下文入群咨询

点击star后即可申请加入QQ群聊,QQ群号:782930037

已经存在的组件框架:

平台 依赖 项目地址
酷Q LEMOC插件 https://github.com/ForteScarlet/simple-robot-component-lemoc
酷Q HTTP TO CQ插件 https://github.com/ForteScarlet/simple-robot-component-httpapi
酷Q CQ HTTP API插件 https://github.com/ForteScarlet/simple-robot-component-coolHttpApi



这是什么?

这是一个基于网络通讯接口的QQ机器人开发框架,可以对接例如酷Q机器人等一系列QQ机器人应用。 此框架分有两个部分:核心框架与组件框架,当前仓库为核心框架。

核心框架?

核心框架提供主要的功能与接口,用于为组件框架提供实现接口,并借此可以实现不同平台、不同插件的简易切换。

组件框架?

组件框架依赖于核心框架,其存在的主要目的就是为了针对某一个特定的插件(例如酷Q的CQ HTTP API插件)进行对接。

为何要分离?

举个例子。假如你想要使用此框架对接 A应用 ,那么你就要使用 组件框架A 来开发,然后过了两个月,你发现B应用也挺好的,想要切换到B应用,这时候分离的作用就出现了,你只需要将依赖的组件框架A切换为组件框架B,然后简单修改一下启动类和配置信息,而不需要修改任何功能性的代码(例如消息监听器、定时任务等等)。因为绝大部分功能性的东西都是核心框架所提供的,而你切换组件是不会变更核心的,这样就可以做到能够很好的去支持更多的应用,且切换起来也不会太繁琐。

简单来讲,核心框架就是一块儿主板,组件框架就是一块儿显卡,而最终开机后,电脑里的各种各样的应用程序,就是你最终所书写的功能性代码。


只要这块儿主板不变,每次更换显卡只需要重新安装一下显卡驱动,而不需要删除所有的应用。

也得益于核心组件分离,使其能够有更大的拓展空间,而不是仅局限于酷Q应用,甚至不一定局限于腾讯QQ的业务范围。毕竟有着“私信、群聊”等等一系列信息内容的应用可不仅限于腾讯QQ啊~


有何优劣?

优点

  • 有着极高的扩展性。任何人都可以根据核心框架,并针对某一个应用或者接口来开发组件框架,并投入使用。
  • 核心提供了极其丰富的功能,例如
    • 注解开发风格
    • 丰富的过滤规则
    • 集成quartz定时任务框架
    • 依赖注入(IOC)
    • 拦截器(AOP)
    • 理论上支持与Spring(boot(+MyBatis))、Dubbo其他框架的整合
  • 持续更新的代码
  • 好说话的作者(欢迎入群与群主交流催更😏
  • 高度接口化,可扩展性强
  • 有虽然没完全写完但是已经很全面了的中文文档
  • 已上传Maven中央仓库,支持Maven、gradle等

缺点

  • 功能丰富,使用便利,但是解释起来却并不容易。
  • 核心框架中依赖库较多,此问题会尝试逐步改善
  • 暂时没有视频教程,仅文字文档有时候阅读起来还是有些困难。(目前可以考虑入群咨询)
  • 作者才疏学浅

现在已经存在的应用?

  • 酷Q应用下的LEMOC插件(插件作者失踪)
  • 酷Q应用下的HTTP API插件(插件作者停更)
  • 酷Q应用下的CQ HTTP API插件(处于活跃状态)

如果你根据核心开发了组件框架,可以告知我,我会更新在此处与下文处。

如果你只是想开发一个QQ机器人,而不在乎使用什么平台,可以去试试酷Q应用下的CQ HTTP API插件,并结合对应的组件框架使用。
酷Q应用社区:https://cqp.cc/forum.php
CQ HTTP API插件GITHUB:https://github.com/richardchien/coolq-http-api
CQ HTTP API组件(即文档地址):https://www.kancloud.cn/forte-scarlet/simple-coolq-doc

安装

此处仅对如何搭建Java项目进行说明,如果你想开发QQ机器人, 请移步至 文档 查看。

首先你需要知道,此项目(即核心) 无法直接使用,如果你想要开发酷Q平台的QQ机器人,请移步至 文档 查看。

其次,以下列举的部署方式中,版本号请自行修改为最新版。

你可以选择使用以下方法进行自动部署:

版本参考:img

Maven

<dependency>
    <groupId>io.github.ForteScarlet</groupId>
    <artifactId>simple-robot-core</artifactId>
    <version>${version}</version>
</dependency>

Gradle

// https://mvnrepository.com/artifact/io.github.ForteScarlet/simple-robot-core
compile group: 'io.github.ForteScarlet', name: 'simple-robot-core', version: '>${version}'

如果你不选择使用自动部署的方式,你可以直接前往 Maven下载Jar 包或者碰碰运气,看看releases有没有最新的Jar包。

注意,当你选择下载jar包的时候,请同时下载项目中lib文件夹下的依赖包。

看的有点蒙,但是想试试

可以考虑:

  • 加入QQ群:782930037, 如果对水群没有兴趣,可以直接去找群主。
  • 邮箱:[email protected] (邮箱信息查看周期较长)
  • GITEE或者GITHUB留言

首先建议进群交流,毕竟其他两个我并不经常看(●ˇ∀ˇ●)

建议、意见、bug反馈

  • 你可以使用issue向我反馈bug或者提出建议意见。
  • 你可以加入QQ群聊782930037向我反馈bug或者提出建议意见。
  • 你可以通过联系邮箱[email protected]向我反馈bug或者提出建议意见(可能会处理不及时)。

更新计划

对于未来的更新计划可以从github的project中或者更新计划.md中看到。一般想到什么的话会优先更新更新计划.md

赞助一下?

那真的真的太感谢了,你可以参考 文档/捐助 或者去 爱发电 逛逛~

大家的成果

项目名称 作者 项目简介 项目链接
SinaNya 斯塔尼亚 为COC/DND等TRPG准备的骰点机器人 https://sinanya.com/
崩坏学园2小助手 - 萌萌新 瑶光天枢 崩坏学园2的在线群聊,查询装备,模拟扭蛋,查询up记录,来份色图的机器人 https://github.com/LiChen233/simple-robot
群管机器人 会跑的仓鼠 基于simple开发的群机器人 https://gitee.com/yaozhenyong/cqrobotjar2
游戏查询机器人 基于simple开发的娱乐性机器人 https://gitee.com/yaozhenyong/cqrobotIndependent
云端控制面板 主要做上面两个版本机器人的控制面板(web端) https://gitee.com/yaozhenyong/Qqrobotwar
Robot-Spring 千年老妖(1571650839)

基于酷Q的,使用Java语言开发的,面向COC的骰子机器人组件, 使用架构为SpringBoot-Mybatis-CoolHttpApI。主要功能:COC跑团基础功能+斗图,聊天,群管等乱七八糟的功能

主体为对于上述提到的SinaNya项目 by 斯塔尼亚的二次封装.

https://github.com/17336324331/Robot-Spring.git

About

这是基于酷q机器人网络接口插件的酷q机器人开发框架

Resources

Stars

Watchers

Forks