Skip to content
This repository has been archived by the owner on Oct 13, 2022. It is now read-only.

Releases: simple-robot/simple-robot-v1

v1.10.7 预装功能

03 Apr 10:01
Compare
Choose a tag to compare

1.10.7

  • 默认的httpClient在请求接口并返回值code为300及以上的时候抛出的异常将会被抛出而不是被捕获。
  • 1.11.x之前预实装异常处理机制。对应文档:https://www.kancloud.cn/forte-scarlet/simple-coolq-doc/1614982
  • MsgIntercept消息拦截器中的参数MsgGetContext中追加参数ListenContext
  • 使ListenContext继承BaseContext抽象类。

1.10.6 修复BUG

31 Mar 12:58
Compare
Choose a tag to compare

1.10.6

  • 修复在一些控制台编码不是UTF-8的控制台中输出中文可能会乱码的问题。
  • 简单修改部分代码的部分逻辑

v1.10.5 更新

30 Mar 14:41
Compare
Choose a tag to compare

1.10.5

  • 优化内部默认的HttpClient模板中对于Cookie的处理
  • 为Setter中的群签到增加默认的实现api
  • 并且增加一个BaseAPITemplate类以提供一个公用的默认模板API
  • 为loginInfo中的头像地址增加默认实现
  • 为内部的异常类提供一个新的获取message的方法getLangMessage
  • 更新版本检测时的日志信息内容
  • 简单修改AnnotationUtils使其能够适应其他情况
  • 修复QQLog中,自定义的QQLogBack所得到的所有异常实例均为null的问题
  • 版本检测方案变更为使用阿里云maven镜像仓库进行检测。

v1.10.4 更新

20 Mar 14:12
Compare
Choose a tag to compare

1.10.4

  • 替换代码中所使用的EmptyInputStream为代码内部实现的类而非httpcore内的类,以防止一些可能发生的版本冲突。

v1.10.3 修复bug

17 Mar 08:23
Compare
Choose a tag to compare

1.10.3

  • 修复CQCodeUtil中取出CQ码的bug,并且不再使用正则取值。

v1.10.2 更新

16 Mar 10:03
Compare
Choose a tag to compare

1.10.2

  • 降低CQ码对象(CQCode)的参数匹配等级
  • 增加at判断函数的注册

v1.10.1 修复BUG

12 Mar 15:45
Compare
Choose a tag to compare

1.10.1

  • 修复由于@Filter过滤机制的变动而导致KeywordMatchTypeFactory工厂创建的枚举无法使用的BUG。

1.10.0更新

12 Mar 14:38
Compare
Choose a tag to compare

1.10.0

更新内容较少,主要是为了修复一个API接口。

  • 修改SENDER接口,为setGroupLeave(退出群)API增加一个参数:dissolve: 假如此账号是群主,则此参数代表是否要解散群。默认为false

1.9.0更新

12 Mar 08:27
Compare
Choose a tag to compare

1.9.0

  • SENDER中增加一个新的接口:发送群公告(sendGroupNotice)

  • 由此版本开始,SENDER中的:sendPrivateMsgsendGroupMsgsendDiscussMsg将修改返回值,由boolean修改为String来代表发送的消息的消息ID,以实现可以对自己的消息进行撤回。
    一般情况下,如果返回的字符串为null,则可能代表原返回值的false
    注意: 如果你的sender在发送消息的时候被送信拦截器所拦截,则默认的返回值可能是一个空字符串而不是null

  • 启动器中,修改面向组件的约定,分离启动器中的“组件启动”、“组件服务启动”等配置

  • 将类似于“无服务启动”的选项整合进核心中,提供一个配置项core.enableServer来决定是否需要让组件启动一个服务,默认为true,即开启。
    其中后两项,由于组件的启动机制修改,你可以通过这两项对象来实现自定义消息接收,并以更高效的处理环境来处理。
    例如,你设置了上述配置属性core.enableServer=false,来阻止组件内部的服务器的启动(它们大多数效率不够高效),然后通过上面提到的"监听函数字符串转化器"与"监听函数执行器"来实现通过外部搭建的服务来分配任务(例如常见的springboot+tomcat的web服务或者基于netty的高效nio服务)

  • 监听器处理逻辑变更:当接收到未注册的bot的消息的时候,不会处理消息内容并提供一个error日志。

  • Filterable接口增加一个参数:ListenContext (监听上下文)

  • Filterable接口修改一个参数:@Filter (注解对象) 修改为类Filter (与注解同名的数据类对象)

  • 将监听执行异常的文字加入到语言文件

  • 修复ListenContext的"当前上下文"无法连携当前上下监听器值的bug

  • 简单修改ListenContext内部结构

  • 修改了@Filter内部对于value参数的匹配规则, 理论上会略微增加效率

  • 增加接口HttpClientAble接口,以实现自定义http请求方式, 使得用户可以摒弃原本内部的HttpClientUtil的使用。如果没有实现,核心内部会提供一个默认的实现方式,类似于原本的HttpClientUtil

  • 增加HttpClientHelper类,以使用上述的HttpClientAble接口,使用registerClient方法注册。

  • 增加注解@HttpTemplate来自动注册一个HttpClientAble接口的实现类到HttpClientHelper类中。

  • 调整父类启动器BaseApplication对于子类的约束方式,实现服务启动与信息获取分离,实现了由核心框架控制服务开启。

  • 调整父类启动器BaseApplicationrun方法,使其拥有返回值,并将原本可以通过application实例对象获取的值移动到SimpleRobotContext中获取。

  • 提供启动方法run的返回值SimpleRobotContext(或者是此类针对于组件的特殊子类),并在其中提供提供一些有用的函数,例如:

    • 默认的三大送信器
    • BotManager
    • 监听函数原生字符串转MsgGet对象的函数
    • 监听函数的执行器
    • DependCenter依赖中心
  • @Filter注解中增加三个参数:String[] bot()KeywordMatchType botMatchType()MostType mostBotType(), 这三个参数与群号过滤、qq号过滤类似,用来筛选"当前接收消息的BOT"。假如监听消息获取到的"ThisCode"参数为null,则默认放行。

  • @Filter匹配策略修改:如果当前消息是群号携带者但是获取到的群号为null,则一律放行。(之前为不放行)

  • @Filter匹配策略修改:如果当前消息是账号携带者但是获取到的账号为null,则一律放行。(之前为不放行)

  • 目前过滤器自带的过滤规则顺序为:bot -> group -> code -> word -> 自定义

  • 修改注解@SimpleRobotApplication注解中的application参数的匹配规则,如果在resources路径中无法获取,则会尝试将其作为文件路径获取。

v1.8.1更新

07 Mar 18:05
Compare
Choose a tag to compare

1.8.1

  • 修改默认情况下的线程池线各项参数:

    (注:最佳的线程数 = CPU可用核心数 / (1 - 阻塞系数), 其中: 0 >= 阻塞系数 > 1
    • 默认线程阻塞系数为0
    • 默认情况下核心线程数量为最佳CPU线程数量的 1/2
    • 默认情况下最大线程数量核心线程数量的2倍+1
  • CoreSystem类中增加两个方法,以检测当前核心版本和获取当前版本,并将当前核心版本加入SystemProperties
  • 配置增加一项:core.checkVersion, 参数为布尔类型,即检查当前核心版本下是否有更新的、可直接覆盖的版本。默认为true
  • GroupInfoGroupList中的Group增加默认的getHeadUrl (获取群头像)接口实现。
  • 优化注解配置与启动器的启动转化逻辑,使其支持标注在任何实现了Application接口的类上时,会获取其实例并执行。配置覆盖顺序:代码配置 -覆盖-> 注解配置 -覆盖-> 文件配置 ,此顺序反过来就是加载顺序。
  • 修复AtDetection1.8.x后出现的bug
  • 将监听执行异常的文字加入到语言文件