Skip to content

Releases: simple-robot/simbot-component-kook

v3.0.0.0.preview.6.0

22 May 14:28
Compare
Choose a tag to compare
v3.0.0.0.preview.6.0 Pre-release
Pre-release

对应核心版本: v3.0.0.preview.10.0

更新日志

What's Changed

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

v3.0.0.0.preview.5.0

17 May 06:37
Compare
Choose a tag to compare
v3.0.0.0.preview.5.0 Pre-release
Pre-release

对应核心版本: v3.0.0.preview.9.0

重构预览

核心模块的 v3.0.0.preview.9.0
为重构版本,此版本为跟随着此版本进行的跟进更新。

application扩展

开黑啦组件下提供如下扩展函数:

useKaiheilaComponent

在当前application中安装使用开黑啦的component信息。

simbotApplication(Foo) {
    useKaiheilaComponent { /* ... */ }
}

useKaiheilaBotManager

在当前application中安装使用开黑啦组件的botManager。

注:不会自动安装component。

simbotApplication(Foo) {
    useKaiheilaBotManager { /* ... */ }
}

useKaiheila

相当于同时使用上述两个扩展。

simbotApplication(Foo) {
    useKaiheila { /* ... */ }
}

更新日志

What's Changed

Full Changelog: v3.0.0.0.preview.3.2...v3.0.0.0.preview.5.0

v3.0.0.0.preview.4.0

07 May 03:55
Compare
Choose a tag to compare
v3.0.0.0.preview.4.0 Pre-release
Pre-release

对应核心版本: v3.0.0.preview.8.1

内部调整

主要为改善内部缓存刷新机制,并增加对 Channel 发生变更时的同步处理。

配置调整

bot配置项属性 syncPeriods 内容做出简单调整,其中:

  • syncPeriods.memberSyncPeriods 弃用并无效。
  • syncPeriods.guildSyncPeriod 属性的默认值由 60_000(60s) 上调为 180_000(180s)。
  • 新增属性 syncPeriods.batchDelay,代表在进行数据同步的时候,列表的批次查询每一批次查询结束后所需要挂起等待(休息)的时长(毫秒值),默认为0,即不等待。

有关此配置的详细说明,参考 KaiheilaComponentBotConfiguration.SyncPeriods 中相关文档注释。

简单示例:

{
  "syncPeriods": {
    "guildSyncPeriod": 180000,
    "batchDelay": 0
  }
}

同步机制更新

现在bot内部在进行周期性数据同步的时候,每次同步 guild 信息时,会同时刷新其内部的 channelsmembers 信息。

更新日志

What's Changed

  • 修复频道更新事件(channel updated)解析错误的问题 by @ForliyScarlet in #23
  • 修复频道增加事件(AddedChannel)解析失败的问题 by @ForteScarlet in #24
  • 调整优化事件对内部缓存的同步机制 by @ForteScarlet in #26

Full Changelog: v3.0.0.0.preview.3.2...v3.0.0.0.preview.4.0

v3.0.0.0.preview.3.2

30 Apr 10:29
Compare
Choose a tag to compare
v3.0.0.0.preview.3.2 Pre-release
Pre-release

对应核心版本: v3.0.0.preview.8.1

更新日志

What's Changed

Full Changelog: v3.0.0.0.preview.3.1...v3.0.0.0.preview.3.2

v3.0.0.0.preview.3.1

28 Apr 13:07
Compare
Choose a tag to compare
v3.0.0.0.preview.3.1 Pre-release
Pre-release

对应核心版本: v3.0.0.preview.8.1

更新日志

What's Changed

Full Changelog: v3.0.0.0.preview.3.0...v3.0.0.0.preview.3.1

v3.0.0.0.preview.3.0

25 Apr 07:51
61ef0fc
Compare
Choose a tag to compare
v3.0.0.0.preview.3.0 Pre-release
Pre-release

对应核心版本: v3.0.0.preview.8.0

新的 CardMessage

此处指 api 模块下的 CardMessage

重构 CardMessage, 并提供一个 CardMessageBuilder

在Kotlin中,你可以使用DSL风格构建一个 CardMessage:

val cardMessage = buildCardMessage {
    // 添加一个卡片
    card(theme = Theme.Default, color = null, size = Size.Default, modules = emptyList())

    // 直接添加一个卡片对象
    +Card(modules = emptyList())

    // 添加一个卡片
    card {
        // 主题
        theme = Theme.DANGER

        // 颜色
        color = "#aaaaaa"

        // 大小
        size = Size.SM

        // modules
        modules {
            header("Header")
            context(CardElement.PlainText("Hello~"))

            divider()
            // ... other..
        }

        // and ... more modules?
        modules {
            // do other?
        }
    }

    // 添加另外一个卡片
    card {
        // do anything...
    }
}

这段代码在Java中类似于:

// 准备builder
final CardMessageBuilder builder = new CardMessageBuilder();

// 添加一个卡片
builder.card(Theme.getDefault(), null, Size.getDefault(), Collections.emptyList());

// 直接添加一个卡片对象
builder.card(new Card(Collections.emptyList()));

// 构建modules
final CardModulesBuilder modulesBuilder = new CardModulesBuilder();
final List<CardModule> modules = modulesBuilder
        // 增加一个Header
        .header("Header")
        // 增加一个Context
        .context(new CardElement.PlainText("Hello~"))
        // 增加一个水平线
        .divider()
        // ... other ...
        .build();

builder.card(Theme.DANGER, "#aaaaaa", Size.SM, modules)
        .card(modulesBuilder0 -> {
            // 这是Kotlin DSL留下的函数,
            // Java中也不是不能用
            return Unit.INSTANCE;
        });

final CardMessage message = builder.build();

上述代码输出的json为:

[
  {
    "modules":[]
  },
  {
    "modules":[]
  },
  {
    "theme":"danger",
    "color":"#aaaaaa",
    "size":"sm",
    "modules":[
      {
        "type":"header",
        "text":"Header"
      },
      {
        "type":"context",
        "elements":[
          {
            "type":"plain-text",
            "content":"Hello~"
          }
        ]
      },
      {
        "type":"divider"
      }
    ]
  },
  {
    "modules":[]
  }
]

组件消息重命名

⚠️ 不兼容变更

如上个版本中的预告所说,本次更新重命名所有组件下没有以 Kaiheila 开头的消息,使他们以 Kaiheila 开头。

具体变更情况(包路径不变: love.forte.simbot.component.kaiheila.message.*)

变更前 变更后
AssetMessage KaiheilaAssetMessage
SimpleAssetMessage KaiheilaSimpleAssetMessage
AssetImage KaiheilaAssetImage
CardMessage KaiheilaCardMessage
AttachmentMessage KaiheilaAttachmentMessage
AtAllHere KaiheilaAtAllHere
KMarkdownMessage KaiheilaKMarkdownMessage
RequestMessage KaiheilaRequestMessage

更新日志

What's Changed

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

v3.0.0.0.preview.2.0

24 Apr 13:58
Compare
Choose a tag to compare
v3.0.0.0.preview.2.0 Pre-release
Pre-release

对应核心版本: v3.0.0.preview.8.0

事件更新

对照simbot核心版本 v3.0.0.preview.8.0
中的变更进行相对应的调整,涉及内容:几乎所有的 KaiheilaEvent 实现以及小部分其他涉及内容(例如 KaiheilaBotManager 内部实现)。

主要变动模块为 kaiheila-corekaiheila-apikaiheila-stdlibkaiheila-boot 模块基本无变化。

跟随上述的实现调整顺带调整的内容有:

  • 移除 KaiheilaMessageEvent 事件及其下部分子类型的泛型定义,( 例如 KaiheilaMessageEvent.Group )。

  • 事件类型的名称变更:

    • KaiheilaNormalMessageEvent.Group -> KaiheilaNormalGroupMessageEvent
    • KaiheilaNormalMessageEvent.Person -> KaiheilaNormaPersonMessageEvent
    • KaiheilaBotSelfMessageEvent.Group -> KaiheilaBotSelfGroupMessageEvent
    • KaiheilaBotSelfMessageEvent.Person -> KaiheilaBotSelfPersonMessageEvent
  • 移除未被使用的事件类型 KaiheilaNormalMessageEventKaiheilaBotSelfMessageEvent

组件Message命名修改

之后的版本中(不是当前版本)将会对组件下的部分 Message 实现(例如 AtAllHere ) 进行命名变更,
为所有类名前没有 Kaiheila 前缀的追加前缀来区别于 kaiheila-api 模块中所定义的类型 。

⚠ 警告!这将会是不兼容变更。

更新日志

What's Changed

Full Changelog: v3.0.0.0.preview.1.2...v3.0.0.0.preview.2.0

v3.0.0.0.preview.1.2

20 Apr 08:12
Compare
Choose a tag to compare
v3.0.0.0.preview.1.2 Pre-release
Pre-release

对应核心版本: v3.0.0.preview.7.0

更新日志

What's Changed

Full Changelog: v3.0.0.0.preview.1.1...v3.0.0.0.preview.1.2

v3.0.0.0.preview.1.1

08 Apr 17:37
Compare
Choose a tag to compare
v3.0.0.0.preview.1.1 Pre-release
Pre-release

试行新版本命名规则

试行新的版本规则(v7)。
版本规则说明可参考 命名概述语雀-命名概述

其他日志

What's Changed

New Contributors

Full Changelog: v3.0.0.preview.5.0-0.0.2...v3.0.0.0.preview.1.1

v3.0.0.preview.5.0-0.0.2

15 Mar 14:12
Compare
Choose a tag to compare
Pre-release

首发版本,尚存在诸多限制,请注意阅读readme中所提及内容。