Releases: simple-robot/simbot-component-kook
v3.0.0.0.preview.6.0
对应核心版本: v3.0.0.preview.10.0
更新日志
What's Changed
- 跟随核心 preview.10 更新 by @ForteScarlet in #36
Full Changelog: v3.0.0.0.preview.5.0...v3.0.0.0.preview.6.0
v3.0.0.0.preview.5.0
对应核心版本: 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
- 修复频道更新事件(
channel updated
)解析错误的问题 by @ForliyScarlet in #23 - 修复频道增加事件(
AddedChannel
)解析失败的问题 by @ForteScarlet in #24 - 调整优化事件对内部缓存的同步机制 by @ForteScarlet in #26
- 支持从
KaiheilaGuildMember
处进行消息发送 by @ForteScarlet in #27 - 调整bot配置文件格式 by @ForteScarlet in #29
- 基于核心pre.9.0调整BotManager by @ForteScarlet in #30
- 基于核心pre.9.0调整BotManager by @ForteScarlet in #32
- 根据
preview.9.0
调整更新 by @ForteScarlet in #34 - 根据
preview.9.0
调整更新 by @ForteScarlet in #35
Full Changelog: v3.0.0.0.preview.3.2...v3.0.0.0.preview.5.0
v3.0.0.0.preview.4.0
对应核心版本: 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
信息时,会同时刷新其内部的 channels
和 members
信息。
更新日志
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
对应核心版本: v3.0.0.preview.8.1
更新日志
What's Changed
- 修复消息中存在at权限组时的反序列化异常 by @ForliyScarlet in #22
Full Changelog: v3.0.0.0.preview.3.1...v3.0.0.0.preview.3.2
v3.0.0.0.preview.3.1
对应核心版本: v3.0.0.preview.8.1
更新日志
What's Changed
- 修复事件解析异常问题 by @ForteScarlet in #19
- 修复消息事件(尤其为kmarkdown)中无法正确获取plainText的问题 by @ForteScarlet in #20
Full Changelog: v3.0.0.0.preview.3.0...v3.0.0.0.preview.3.1
v3.0.0.0.preview.3.0
对应核心版本: 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
- 修复/重构
CardMessage
by @ForliyScarlet in #15 - 组件消息对象重命名 by @ForteScarlet in #16
Full Changelog: v3.0.0.0.preview.2.0...v3.0.0.0.preview.3.0
v3.0.0.0.preview.2.0
对应核心版本: v3.0.0.preview.8.0
事件更新
对照simbot核心版本 v3.0.0.preview.8.0
中的变更进行相对应的调整,涉及内容:几乎所有的 KaiheilaEvent
实现以及小部分其他涉及内容(例如 KaiheilaBotManager
内部实现)。
主要变动模块为 kaiheila-core
。 kaiheila-api
、 kaiheila-stdlib
、kaiheila-boot
模块基本无变化。
跟随上述的实现调整顺带调整的内容有:
-
移除
KaiheilaMessageEvent
事件及其下部分子类型的泛型定义,( 例如KaiheilaMessageEvent.Group
)。 -
事件类型的名称变更:
KaiheilaNormalMessageEvent.Group
->KaiheilaNormalGroupMessageEvent
KaiheilaNormalMessageEvent.Person
->KaiheilaNormaPersonMessageEvent
KaiheilaBotSelfMessageEvent.Group
->KaiheilaBotSelfGroupMessageEvent
KaiheilaBotSelfMessageEvent.Person
->KaiheilaBotSelfPersonMessageEvent
-
移除未被使用的事件类型
KaiheilaNormalMessageEvent
、KaiheilaBotSelfMessageEvent
。
组件Message命名修改
之后的版本中(不是当前版本)将会对组件下的部分 Message
实现(例如 AtAllHere
) 进行命名变更,
为所有类名前没有 Kaiheila
前缀的追加前缀来区别于 kaiheila-api
模块中所定义的类型 。
⚠ 警告!这将会是不兼容变更。
更新日志
What's Changed
- 根据
simbot
核心的pre.8.0变更调整实现 by @ForteScarlet in #14
Full Changelog: v3.0.0.0.preview.1.2...v3.0.0.0.preview.2.0
v3.0.0.0.preview.1.2
对应核心版本: v3.0.0.preview.7.0
更新日志
What's Changed
- 更新ktor到v2.0.0版本 by @ForteScarlet in #10
- 修复事件监听解析器获取失败 by @ForteScarlet in #11
- 修复bot注册时无法忽略非当前组件的配置 by @ForteScarlet in #12
Full Changelog: v3.0.0.0.preview.1.1...v3.0.0.0.preview.1.2
v3.0.0.0.preview.1.1
试行新版本命名规则
试行新的版本规则(v7
)。
版本规则说明可参考 命名概述 或 语雀-命名概述 。
其他日志
What's Changed
- 成员变动相关事件的实现 by @ForteScarlet in #1
- 用户信息更新相关事件对接 by @ForliyScarlet in #2
- 频道变更相关事件 by @ForliyScarlet in #3
- 调整对频道发消息的相关API by @ForliyScarlet in #4
- 上线/下线事件实现 by @ForliyScarlet in #5
- 修改core模块下的错误包路径拼写 by @ForliyScarlet in #6
New Contributors
- @ForteScarlet made their first contribution in #1
- @ForliyScarlet made their first contribution in #2
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
首发版本,尚存在诸多限制,请注意阅读readme中所提及内容。