Releases: simple-robot/simpler-robot
v3.0.0.preview.8.0
⚠️ 不兼容更新。
事件相关变更
-
变更部分事件的定义,去除大部分事件API的默认实现、去除部分事件的部分泛型定义。
去除泛型的变更所涉及的事件:
ChangeEvent
、ChangedEvent
、StartPointEvent
、
EndPointEvent
、IncreaseEvent
、DecreaseEvent
、
FriendChangedEvent
、FriendIncreaseEvent
、FriendDecreaseEvent
、
MemberChangedEvent
、MemberIncreaseEvent
、MemberDecreaseEvent
-
新增标准事件类型:
FriendChangedEvent
来作为好友的对应增加/减少事件的父类事件。
调整 OriginBotManager & BotManager
- 调整了
OriginBotManager
中getManagers
的返回值,现在它将直接返回List
类型。 OriginBotManager
的getManagers
取消@JvmSynthetic
注解。OriginBotManager
中增加额外的getBot
重载。OriginBotManager
中增加getAny
。BotManager
的get
方法增加operator
修饰符。
重构 BotVerifyInfo
重构 BotVerifyInfo
, 为其在 preview.10.x
重构时能够支持多格式做准备。
对比
旧
val path = Path("my-bot.bot")
val info = path.asBotVerifyInfo()
// 获取源输入流并操作
val inputStream = info.inputStream()
// do by inputStream...
新
val path = Path("my-bot.bot")
val info = path.toBotVerifyInfo(StandardBotVerifyInfoDecoderFactory.Json)
// 可以直接进行反序列化
val config = info.decode(MyConfig.serializer())
// do...
// 保留获取源输入流的能力
val inputStream = info.inputStream()
说本周更就本周更
组件更新
相关组件会在后续跟进更新
仓库参考
- simbot-api: v3.0.0.preview.8.0
- simbot-core: v3.0.0.preview.8.0
- simbot-logger: v3.0.0.preview.8.0
- simboot-api: v3.0.0.preview.8.0
- simboot-core: v3.0.0.preview.8.0
- simboot-core-annotation: v3.0.0.preview.8.0
- simboot-core-spring-boot-starter: v3.0.0.preview.8.0
变更日志
What's Changed
- 更新版本 v3.0.0.preview.7.0 by @ForteScarlet in #243
- 为 SingleOnlyMessage 提供toString约束 by @ForliyScarlet in #247
- 调整BotManager部分API by @ForteScarlet in #248
- 调整大部分Event类型定义 by @ForliyScarlet in #249
- 为Image提供阻塞的resource获取API by @ForliyScarlet in #252
- Member 实现 SendSupport 接口 by @ForliyScarlet in #254
- Member 实现 SendSupport 接口 by @ForliyScarlet in #253
- 调整
BotManager
和OriginBotManager
相关内容。 by @ForliyScarlet in #255 - 重写 BotVerifyInfo by @ForliyScarlet in #256
- 提供
Resource
的子类型DeserializableResource
by @ForteScarlet in #257
New Contributors
- @ForliyScarlet made their first contribution in #247
Full Changelog: v3.0.0.preview.7.0...v3.0.0.preview.8.0
v3.0.0.preview.7.0
组件更新
此版本理论上兼容旧代码,可直接引入更新,无需更新组件版本。因此各组件不会即时跟进。
但同时,如果使用旧的 v3.0.0-preview.6.0
, 则可能无法正常使用 Spring Boot Starter
模块(普通boot模块正常)。
其他日志
What's Changed
- 优化Messages下相关内容效果 by @ForteScarlet in #240
- boot相关模块提供现自定义组件注册配置类 by @ForteScarlet in #242
Full Changelog: v3.0.0.preview.6.0...v3.0.0.preview.7.0
v3.0.0.preview.6.0
v3.0.0.preview.5.0
组件机制更新
在基础的core模块下,组件将不再是“自动加载”的内容,而是需要你在构建 coreListenerManager
的时候主动加入的。
val manager = coreListenerManager {
install(TestComponent)
// 或者尝试自动加载
installAll() // 实验性的,尝试加载当前环境中的所有(支持被自动加载的)组件
}
// 配置类
final CoreListenerManagerConfiguration configuration = new CoreListenerManagerConfiguration();
// 注册一个组件。大多数情况下,组件的注册器为组件的伴生对象,因此Java中可以使用 `XxxComponent.Registrar`(或者`XxxComponent.Companion`等)
configuration.install(TestComponent.Registrar);
// 或者尝试自动加载
// 这是实验性的。尝试加载当前环境中的所有(支持被自动加载的)组件
configuration.installAll();
CoreListenerManager.newInstance(configuration);
监听函数注册机制更新
现在,在基础的core模块下,更推荐在 coreListenerManager
配置范围内完成对监听函数的全部注册。后期动态注册监听函数的api会暂时保留,但是不保证日后是否会过时并删除。
coreListenerManager {
// 配置监听函数相关内容
listeners {
// 可以直接注册一个 EventListener 实例
listener(coreListener { ... })
// 通过DSL配置一个监听函数
listener(FriendMessageEvent) {
// 可以提供部分过滤器逻辑
filter { true }
filters {
filter { true }
filter { true }
filter { true }
}
// 监听函数的处理逻辑
handle { context, event ->
// do...
null
}
}
}
}
// 构建配置类
final CoreListenerManagerConfiguration configuration = new CoreListenerManagerConfiguration();
// 构建一个监听函数实例。
EventListener listener1 = CoreListenerUtil.newCoreListener(FriendMessageEvent.Key, (context, event) -> {
// do..
return null;
});
// 添加监听函数
// Java中,使用 `addListener` 是相对比较简便的方式。
configuration.addListener(listener1);
// 构建 manager
CoreListenerManager manager = CoreListenerManager.newInstance(configuration);
组件更新
相关组件会在后续跟进更新
其他日志
What's Changed
- 调整coreListenerManager的配置方式与listener的注册时机 by @ForteScarlet in #227
- 为Bot追加
isMe
API以尝试解决BOT的多ID问题 by @ForteScarlet in #228 - 调整/重构组件机制 by @ForteScarlet in #229
- 为
MuteSupport.mute
的参数提供默认值 by @ForteScarlet in #234
Full Changelog: v3.0.0.preview.4.1...v3.0.0.preview.5.0
v3.0.0.preview.4.1
v2.3.8
v3.0.0.preview.4.0
simbot-logger
发布新的模块 simbot-logger
并作为simbot下的默认日志模块。
simbot-logger
实现 SLF4J API, 是一个简易的异步高性能日志模块。但无法于专业的日志框架相提并论,如果你没有非常高的日志要求,可以考虑使用默认的 simbot-logger
, 否则请考虑自行切换其他经得起考验的日志框架。
simbot-logger
默认的处理器仅为控制台输出日志,默认为 INFO
级别。如果你需要快捷的调整输入等级,请添加JVM运行参数 simbot.logger.level
指定等级, 例如 :
-Dsimbot.logger.level=DEBUG
如果你希望提供更多处理器来满足复杂需求,例如除了控制台输出以外,你还需要日志文件输出,请参考 love.forte.simbot.logger.SimbotLoggerProcessor
文档说明并自行进行实现。
组件更新
相关组件会在后续跟进更新
其他日志
What's Changed
- 发布默认日志模块simbot-logger by @ForteScarlet in #221
- SimpleEventResult的content支持解析并收集reactive等响应式结果 by @ForteScarlet in #222
Full Changelog: v3.0.0.preview.3.0...v3.0.0.preview.4.0
v3.0.0.preview.3.0
- 补充日志,并发布Api Doc到 https://simple-robot-library.github.io/simbot3-main-apiDoc.
- 以及其他调整与优化
spring-boot-starter 相关
- 恢复
@Filter
和@Filters
注解的递归性,且需要保证项目环境中的Spring Framework
版本应当>= 5.3.16
. 版本配置方式如下:
Maven
<properties>
<spring-framework.version>5.3.16</spring-framework.version>
</properties>
Gradle Groovy
ext['spring-framework.version'] = '5.3.16'
Gradle Kotlin DSL
ext["spring-framework.version"] = "5.3.16"
组件更新
相关组件会在后续跟进更新
其他详细日志
What's Changed
- 移除@SimbootApplication多余属性 by @ForteScarlet in #209
- 调整Timestamp部分API by @ForteScarlet in #211
- 消除Metadata相关内容 by @ForteScarlet in #210
- 重新调整Role相关API by @ForteScarlet in #212
- 恢复@filter和@filters的递归性,更新发布快照版本 by @ForteScarlet in #213
- 配置API文档部署CI by @ForteScarlet in #214
- 补充
@Filter
的注释以及对Spring版本兼容的版本要求说明 by @ForteScarlet in #215 - 为Messages提供toString by @ForteScarlet in #217
- OriginBotManager增加api,补充注释 by @ForteScarlet in #218
- 为Messages提供面向Java的序列化/反序列化api by @ForteScarlet in #219
- 为Messages提供MessagesBuilder by @ForteScarlet in #220
Full Changelog: v3.0.0.preview.2.0...v3.0.0.preview.3.0
v3.0.0.preview.2.0
值此新春佳节之际,我在这里代法欧莉给大家拜个晚年了,什么?假期已经结束了?没关系,我多请了两天假。
目前 preview.2.0
已经发布,并且目前由我们亲爱的法欧莉亲自进行测试。以目前的情况来看,此版本已经可以进行一定程度与规模的体验了。
当然,文档(特指语雀文档)目前仍然十分残缺,但是这同样是 preview
版本下的现状:有些东西可能不知道什么时候就会做出变更。但是文档依旧会尽量逐步完善。相比较于外部文档,源代码中的文档注释十分丰富,对于部分API的描述,请优先考虑参考文档注释。
目前跟随版本更新的组件有:
除去一些bug fix以外,下面是其他一些比较重要的更新内容:
What's Changed
- 调整OriginBotManager by @ForteScarlet in #194
- 调整Member/Organization/Role相关API by @ForteScarlet in #195
- 更新优化持续会话相关API by @ForteScarlet in #196
- ListenerManager获取全局作用域与持续会话作用域 by @ForteScarlet in #198
- 增加部分api by @ForteScarlet in #199
- 调整开源协议 by @ForteScarlet in #200
- 更新调整开源协议 by @ForteScarlet in #201
- 过时的
@Listen
及其衍生注解 by @ForteScarlet in #202 - ID属性提供容器类型与实现 by @ForteScarlet in #203
- 补充部分InternalBotEvent by @ForteScarlet in #204
- 持续会话相关API优化调整 by @ForteScarlet in #205
- 调整 Resource 相关API by @ForteScarlet in #206
Full Changelog: v3.0.0.preview.1.0...v3.0.0.preview.2.0
v2.3.7
mirai组件
- 针对 mamoe/mirai#1852 进行简单的临时处理,避免重复接收bot自身消息。