Releases: simple-robot/simple-robot-v1
v1.10.7 预装功能
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
1.10.6
- 修复在一些控制台编码不是UTF-8的控制台中输出中文可能会乱码的问题。
- 简单修改部分代码的部分逻辑
v1.10.5 更新
1.10.5
- 优化内部默认的HttpClient模板中对于Cookie的处理
- 为Setter中的群签到增加默认的实现api
- 并且增加一个BaseAPITemplate类以提供一个公用的默认模板API
- 为loginInfo中的头像地址增加默认实现
- 为内部的异常类提供一个新的获取message的方法
getLangMessage
- 更新版本检测时的日志信息内容
- 简单修改
AnnotationUtils
使其能够适应其他情况 - 修复
QQLog
中,自定义的QQLogBack
所得到的所有异常实例均为null的问题 - 版本检测方案变更为使用阿里云maven镜像仓库进行检测。
v1.10.4 更新
1.10.4
- 替换代码中所使用的
EmptyInputStream
为代码内部实现的类而非httpcore
内的类,以防止一些可能发生的版本冲突。
v1.10.3 修复bug
1.10.3
- 修复CQCodeUtil中取出CQ码的bug,并且不再使用正则取值。
v1.10.2 更新
1.10.2
- 降低CQ码对象(CQCode)的参数匹配等级
- 增加at判断函数的注册
v1.10.1 修复BUG
1.10.1
- 修复由于
@Filter
过滤机制的变动而导致KeywordMatchTypeFactory
工厂创建的枚举无法使用的BUG。
1.10.0更新
1.10.0
更新内容较少,主要是为了修复一个API接口。
- 修改SENDER接口,为
setGroupLeave
(退出群)API增加一个参数:dissolve
: 假如此账号是群主,则此参数代表是否要解散群。默认为false
1.9.0更新
1.9.0
-
SENDER中增加一个新的接口:发送群公告(sendGroupNotice)
-
由此版本开始,SENDER中的:
sendPrivateMsg
、sendGroupMsg
、sendDiscussMsg
将修改返回值,由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
对于子类的约束方式,实现服务启动与信息获取分离,实现了由核心框架控制服务开启。 -
调整父类启动器
BaseApplication
的run
方法,使其拥有返回值,并将原本可以通过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更新
1.8.1
- 修改默认情况下的线程池线各项参数:
(注:最佳的线程数 = CPU可用核心数 / (1 - 阻塞系数), 其中: 0 >= 阻塞系数 > 1
)- 默认线程阻塞系数为0
- 默认情况下核心线程数量为最佳CPU线程数量的 1/2
- 默认情况下最大线程数量核心线程数量的2倍+1
- CoreSystem类中增加两个方法,以检测当前核心版本和获取当前版本,并将当前核心版本加入SystemProperties
- 配置增加一项:
core.checkVersion
, 参数为布尔类型,即检查当前核心版本下是否有更新的、可直接覆盖的版本。默认为true
- 为
GroupInfo
和GroupList
中的Group
增加默认的getHeadUrl
(获取群头像)接口实现。 - 优化注解配置与启动器的启动转化逻辑,使其支持标注在任何实现了
Application
接口的类上时,会获取其实例并执行。配置覆盖顺序:代码配置
-覆盖->注解配置
-覆盖->文件配置
,此顺序反过来就是加载顺序。 - 修复
AtDetection
在1.8.x
后出现的bug - 将监听执行异常的文字加入到语言文件