Releases: mamoe/mirai
Releases · mamoe/mirai
0.30.0
此版本为二进制不兼容更新, 全部使用者都需要重新编译.
源码兼容的改变:
- 删除全部
@Depreacted兼容 - 删除全部多余的
@JvmName以兼容将来的改变 (新 MPP 模块等级制架构) - 调整部分函数的 JVM 可见性
- 内联部分
MessageChain工具函数 - 更新到 Kotlin 1.4-M1
源码不兼容的改变:
- 群设置由
Group移动到独立的GroupSettings - 调整 API 可见性: 将除
BotFactory外mirai-core-qqandroid中全部 API 改为internal
消息部分:
SingleMessage实现接口CharSequence和Comparable<String>- 为
FriendImage,GroupImage,OnlineImage,OfflineImage增加companion object Key - 调整
RichMessage, 将所有子类聚合到一个文件 - 移动
XmlMessageHelper为RichMessage.Compation - 命名调整:
buildXMLMessage改为buildXmlMessage - 修复
CombinedMessage中错误的left和element
事件部分:
- 加强
selectMessages, 增加回复, 引用回复, 默认值, 超时支持:
原处理方式:
val message = nextMessageOrNull(10.secondsToMillis) ?: kotlin.run {
quoteReply("请在 10 秒内发送一张图片")
return@case
}
val image = message.getOrNull(OnlineImage) ?: kotlin.run {
reply(message.quote() + "请发送一张图片")
return@case
}
reply(message.quote() + image.originUrl)使用 selectMessages DSL:
selectMessagesUnit {
has<OnlineImage>() quoteReply {
message[OnlineImage].originUrl
}
timeout(10.secondsToMillis) quoteReply {
"请在 10 秒内发送图片以获取链接"
}
defaultQuoteReply {
"请发送一张图片"
}
}0.29.1
0.29.0
- 引入新消息监听 DSL:
whileSelectMessages, 简化连续监听过程
bot.subscribeMessages {
"开启复读模式" `->` {
reply("成功开启")
whileSelectMessages {
"stop" `->` {
reply("已关闭复读")
false // 停止循环
}
default {
reply(message)
true // 继续循环
}
}
reply("复读模式结束")
}
}- 引入新消息监听 DSL:
selectMessages, 简化筛选监听过程
bot.subscribeMessages {
"test" `->` {
reply("choose option: 'hello', 'hi'")
val value: String = selectMessages {
"hello" `->` { "123" }
"hi" `->` { "222" }
default { "default value" }
}
reply(value)
}
}- 监听消息的 DSL 新增
infix fun String.->(block) - 处理
StatSvc.ReqMSFOffline(#150) Contact.sendMessage现在接受Message参数, 而不是MessageChain以兼容CombinedMessageMember.sendMessage现在返回MessageReceipt<Member>而不是 QQ 泛型- 调整 JVM
MessageUtils中一些方法的可见性 (@JvmSynthetic) - 调整命名:
OfflineImage.queryOriginUrl改为OfflineImage.queryUrl - 允许手动重新初始化
Bot(BotNetworkHandler.init), 确保重初始化资源释放
0.28.0
0.27.0
0.26.1
0.26.0
0.25.0
0.24.1
0.24.0
-
Java 完全友好: Java 使用者可以同 Kotlin 方式直接阻塞式或异步(Future)调用 API
-
新增
MessegaSource.originalMessage: MessageChain以获取源消息内容 -
群消息的撤回现在已稳定 (
Bot.recall) -
现在可以引用回复机器人自己发送的消息:
MessageReceipt.quoteReply -
新增
MessageRecallEvent -
整理
MessageChain的构造, 优化性能 -
整理所有网络层代码, 弃用
kotlinx.io而使用io.ktor.utils.io -
其他杂项优化