Skip to content

v3.0.0.preview.5.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 15 Mar 13:28
· 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

Full Changelog: v3.0.0.preview.4.1...v3.0.0.preview.5.0