Skip to content

Releases: simple-robot/simpler-robot

v3.0.0.preview.8.0

24 Apr 13:38
Compare
Choose a tag to compare
v3.0.0.preview.8.0 Pre-release
Pre-release

⚠️ 不兼容更新。

事件相关变更

  • 变更部分事件的定义,去除大部分事件API的默认实现、去除部分事件的部分泛型定义。

    去除泛型的变更所涉及的事件:
    ChangeEventChangedEventStartPointEvent
    EndPointEventIncreaseEventDecreaseEvent
    FriendChangedEventFriendIncreaseEventFriendDecreaseEvent
    MemberChangedEventMemberIncreaseEventMemberDecreaseEvent

  • 新增标准事件类型: FriendChangedEvent 来作为好友的对应增加/减少事件的父类事件。

调整 OriginBotManager & BotManager

  • 调整了 OriginBotManagergetManagers 的返回值,现在它将直接返回 List 类型。
  • OriginBotManagergetManagers 取消 @JvmSynthetic 注解。
  • OriginBotManager 中增加额外的 getBot 重载。
  • OriginBotManager 中增加 getAny
  • BotManagerget 方法增加 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()

说本周更就本周更

组件更新

相关组件会在后续跟进更新

仓库参考

变更日志

What's Changed

New Contributors

Full Changelog: v3.0.0.preview.7.0...v3.0.0.preview.8.0

v3.0.0.preview.7.0

15 Apr 05:42
Compare
Choose a tag to compare
v3.0.0.preview.7.0 Pre-release
Pre-release

组件更新

此版本理论上兼容旧代码,可直接引入更新,无需更新组件版本。因此各组件不会即时跟进。

但同时,如果使用旧的 v3.0.0-preview.6.0, 则可能无法正常使用 Spring Boot Starter 模块(普通boot模块正常)。

其他日志

What's Changed

Full Changelog: v3.0.0.preview.6.0...v3.0.0.preview.7.0

v3.0.0.preview.6.0

08 Apr 17:13
Compare
Choose a tag to compare
v3.0.0.preview.6.0 Pre-release
Pre-release

本次更新主要是用于配合 开黑啦组件 进行事件类型实现的情况下完善了部分事件的泛型定义。
本次主要是开黑啦组件中的更新。因此对于核心来讲,没有功能性上的更新。

版本规则更新

后续的核心和组件库的更新中,将会根据当前的版本命名规则(v7)进行试行并观察效果。本次会跟进更新的为 开黑啦组件

版本规则更新对于核心库来讲没有影响。

对于版本规则的说明,你可以参考 命名概述语雀-命名概述

组件更新

相关组件会在后续跟进更新

其他日志

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

v3.0.0.preview.5.0

15 Mar 13:28
Compare
Choose a tag to compare
v3.0.0.preview.5.0 Pre-release
Pre-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

v3.0.0.preview.4.1

27 Feb 06:57
Compare
Choose a tag to compare
v3.0.0.preview.4.1 Pre-release
Pre-release
  • 简单优化对于核心boot模块下的类扫描提示

其他日志

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

v2.3.8

25 Feb 07:58
Compare
Choose a tag to compare

mirai组件

更新mirai版本到 v2.10.0, 并由此间接解决 #216

v3.0.0.preview.4.0

24 Feb 13:43
Compare
Choose a tag to compare
v3.0.0.preview.4.0 Pre-release
Pre-release

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

Full Changelog: v3.0.0.preview.3.0...v3.0.0.preview.4.0

v3.0.0.preview.3.0

22 Feb 06:48
Compare
Choose a tag to compare
v3.0.0.preview.3.0 Pre-release
Pre-release

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

Full Changelog: v3.0.0.preview.2.0...v3.0.0.preview.3.0

v3.0.0.preview.2.0

07 Feb 17:24
Compare
Choose a tag to compare
v3.0.0.preview.2.0 Pre-release
Pre-release

值此新春佳节之际,我在这里代法欧莉给大家拜个晚年了,什么?假期已经结束了?没关系,我多请了两天假。


目前 preview.2.0 已经发布,并且目前由我们亲爱的法欧莉亲自进行测试。以目前的情况来看,此版本已经可以进行一定程度与规模的体验了。

当然,文档(特指语雀文档)目前仍然十分残缺,但是这同样是 preview 版本下的现状:有些东西可能不知道什么时候就会做出变更。但是文档依旧会尽量逐步完善。相比较于外部文档,源代码中的文档注释十分丰富,对于部分API的描述,请优先考虑参考文档注释。

目前跟随版本更新的组件有:

除去一些bug fix以外,下面是其他一些比较重要的更新内容:

What's Changed

Full Changelog: v3.0.0.preview.1.0...v3.0.0.preview.2.0

v2.3.7

30 Jan 17:21
Compare
Choose a tag to compare

mirai组件

  • 针对 mamoe/mirai#1852 进行简单的临时处理,避免重复接收bot自身消息。