Releases: simple-robot/simple-robot-v1
v1.13.2 小更新
1.13.2
- 修改
BaseConfiguation
一些字段的访问权限
v1.13.1 更新
1.13.1
beanUtils
替换为hutool-core
IOUtils
替换为hutool-core
ListenerManager
中尝试使用新的紧凑map- 修复
botManager
中可能会导致无法获取info的情况 SimpleRobotContext
实现Closeable
接口
v1.13.0
前两个版本也没什么人用,也没啥bug反馈,我可就当作没bug了,所以这个版本作为稳定版发布,有bug可别怪我
1.13.0
-
变更监听消息拦截器的加载机制
-
依赖加载的日志类型变更为
debug
-
依赖中心增加
Closeable
接口的实现,当执行close的时候,会将所有实现了Closeable
接口的单例对象遍历并close,然后清除单例值。 -
为ListenContext增加静态方法
getLocal()
,当监听函数触发的时候,会将ListenContext存入当前线程的ThreadLocal
中, 并在监听函数全部执行结束后清除。※ ThreadLocal机制目前处于实验阶段,如果表现较差后期可能会移除。 -
增加监听函数拦截器
ListenIntercept
,使用方法即实现ListenIntercept
接口并标注@Beans
注解,当函数返回true即为放行,返回false即为拦截。 -
增加context类
ListenInterceptContext
,为ListenIntercept
中使用,提供了大量ListenMethod中可获得的参数。 -
MsgSender
中增加reply(...)
方法来支持快捷回复。此方法判断MsgGet参数的类型,如果不是PrivateMsg
、GroupMsg
、DiscussMsg
三种类型其中之一则会抛出异常。 -
预装一个实验性功能
runAuto()
v1.12.1 先行版
1.12.1 (beta)
- 配置中增加一个配置项
simbot.core.checkBot
,默认为true。当为true的时候,监听函数触发前会优先判断当前消息所接收的bot是否为已注册的bot,如果为未注册bot则其将会被拦截。 - 简单优化HttpClientAble
- 将常量类
com.forte.qqrobot.PriorityConstant
移动至com.forte.qqrobot.constant.PriorityConstant
- 修复默认的
BotManager
实现类中,使用带账号的注册会导致无法触发验证的bug - 修改部分需要初始化的bean的初始化流程。
- 修改默认
BotManager
的自动配置形式。 - 修复依赖中心中疑似会导致死锁的bug
- 修改
ConfigProperties
类的实现,可能会导致兼容问题。
v1.12.0 先行版
1.12.0 (beta)
-
优化依赖工厂,并修复部分隐藏bug
-
@Beans
增加两个参数:boolean init() default false
和int priority() default Integer.MAX_VALUE
分别代表被标注的Beans是否在依赖工厂注入流程结束后执行一次初始化和这个Beans的优先级。 -
为
@Beans
追加优先级概念。当在通过类型获取一个Beans的时候,如果依赖工厂中存在多个此类型的实例,则会选择优先级最高的(升序排序,即数值最小的
)使用。
例如,TestInterface
接口存在两个实现类Test1
和Test2
,他们所标注的@Beans
注解分别为@Beans(priority = 1)
和@Beans(priority = 2)
, 则在获取TestInterface
d额时候会获取到Test1
。
注意,当最高优先级存在多个的时候,将会抛出异常。
默认情况下优先级为最低,即Integer.MAX_VALUE
-
为BotInfo追加接口
closeable
的继承。 -
增加一个
PriorityConstant
常量类,定义了一些比较基本的常量。 -
修改
BotManager
接口的registerBot
方法的返回值,修改前为boolean
,目前为注册成功后的botInfo
-
基础配置类中追加指定类加载器的配置
setClassLoader
用于一些类似于包扫描的地方。默认为当前线程中的类加载器。 -
将
BotManager
的内部默认实例BotManagerImpl
由硬编码形式修改为模组自动加载形式,其优先级为默认的最低。 -
增加了一个会被默认注入到依赖工厂的
ConfigProperties
实例,当你使用了配置文件启动的时候,可以通过此类得到配置文件中的配置项。可用来为模组提供额外的配置。 -
配置文件现在推荐在所有的配置前缀增加
simbot
以进行大分类。旧配置暂时依旧可用,但是不再推荐。 -
为三个送信拦截器的参数的父类
SenderContext
追加一个方法getMethod()
以支持获取当前拦截的方法实例。 -
三个送信拦截器将不会再拦截Object的默认方法了。(例如
toString()
方法,除非组件实例重写了此方法。) -
大幅度调整内部结构。现在启动时,如果没有注册任何bot信息,将不会再强制注册一个默认地址了,而是变更为一个警告。
v1.11.4 bug修复
1.11.4
- 语言系统中增加模组(module)相关语言加载
- 修复ListenContext对象在使用的时候无法正常依靠
get
与set
取值设值的问题,并在Context中追加一个put
方法,含义与get
一致。
v1.11.3 修复bug
1.11.3
- 修复CQAppendList中出现二次转义的情况。
- 修复CQCodeUtil中获取CQ码的时候出现索引越界的异常。
- 群签到接口默认为“运势”签到
v1.11.2 修复bug
1.11.2
- 修复CQCode相关操作中的bug
- 接口
QQCodeAble
、GroupCodeAble
中分别默认实现了获取QQ头像、群头像的方法。 - 为一些接口继承
QQCodeAble
、GroupCodeAble
v1.11.1 复原
now
- 将部分ListenerManager内部代码换回原来的模式
v1.11.0 更新
1.11.0
- 为BotManager增加两个方法:
BotInfo logOutBot(String code)
、public void refreshBot(String code)
以移除、刷新一些bot信息。 - 为
BotInfoImpl
提供默认的equals方法。 - 修改依赖工厂机制,现在获取不到依赖将会抛出异常而不是以null代替。
- 修改监听函数加载机制,现在监听函数在启动的时候会初始化一次。