v3.0.0.preview.5.0
Pre-release
Pre-release
·
1390 commits
to v3-dev
since this release
组件机制更新
在基础的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