# 概览

提示

1.建议拥有一定的java基础,如果遇到难以理解的词汇,请随时查阅 术语表 或使用 Google搜索 (opens new window)
2.如果对于文档有任何的建议或者其他想法,欢迎在项目地址 (opens new window) 提出issue。

提示

如果对于这里过于枯燥,请先简单略读之后直接前往安装查看安装方法,运行demo并进行后续基础使用教程。

YuQ 是一个由JAVA/Kotlin写成的机器人开发框架,其一开始的目的就是为了降低写机器人时候所需要的大量代码。 YuQ在收到了信息以后,会对消息进行解析与处理并按照一定的顺序依次送往应该到达的位置,依次来达到所要的效果。
除基本的解析信息之外, YuQ拥有类似MVC中的Controller的路由系统并且相对而言更加多变更加适合机器人的命令情况,适合从头编写机器人的人。 也有事件系统来应对群事件好友事件。还有定时任务、多路径扫包、加载插件等功能。 需要注意,目前YuQ支持的最低JDK/JRE应该是1.8。

# YuQ的工作顺序

YuQ本身是一个「无头 QQ 客户端」,当腾讯下发信息至客户端后,YuQ将其主要信息包装起来,然后依次走过Event(事件)----【Before(路由之前的过滤器)---- Action(路由器节点)-----After(路由器之后的处理器)】
根据信息中的不同情况,消息内容被包装成了不同的对象,简单举例,比如消息本体会被封装成为com.icecreamqaq.yuq.message.Message信息对象,其中元素会组成List<MessageItem> 发送者会组成com.icecreamqaq.yuq.entity.Contact对象。
而YuQ插件的编写者,则是根据YuQ的信息来编写处理与返回逻辑,让他实现自己所需要的功能。

# 示意图

后面有了补上

# 特色

  • 类似MVC的开发模式
  • 插件式加载
  • 多种处理方法