由旧版本迁移
请查看 Migration From 1.x
未来规划
Mirai 已完成 2.0 重构。
2.0-RC
是一个稳定版本。 之后版本更新将会有兼容性保证。下一个版本 2.0.0
将会在修复 2.0-RC
的问题和完善文档后发布。
新特性
- 支持同步其他客户端加入的群 (#804 by @sandtechnology)
- 支持同步其他客户端的私聊消息 (#841 by @sandtechnology)
- 支持从
MemberJoinEvent.Invite
获取邀请人 (#804 by @sandtechnology) - 支持群图片和私聊图片的互相转换 (#307)
- 统一图片的 ID, 现在所有图片 ID 都为原群图片格式
- 稳定消息序列化 (#817)
- 稳定
Nudge
API - 新增
BotOfflineEvent.reconnect
以支持控制掉线自动重连 - 新增
BotConfiguration.workingDir
配置工作目录 - 新增
UserEvent
接口 - 新增
recallIn
结果获取
不兼容变更
TempMessageEvent
更名为GroupTempMessageEvent
, 因计划支持更多临时会话消息 (#429)- 更名
MessageChain
相关的asMessageChain
为toMessageChain
- 弃用
MessageChain
相关的flatten
- 弃用
Message.isPlain
,Message.isNotPlain
,Message.isContentNotEmpty
- 弃用
Member.isNormal
,Member.isAnonymous
- 弃用
ContactList.idContentString
- 删除
MessageSource
中isAboutFriend
,isAboutGroup
,isAboutTemp
- 将
Listener.ConcurrencyKind
和Listener.EventPriority
由嵌套类移动到顶层 - 简化戳一戳相关事件: 删除所有
XXXNudgeEvent
, 以单一NudgeEvent
替代 MessageSource.originalMessage
不再带有MessageSource
- 过滤 Android 客户端发送的引用回复后包含的多余的
At
Bot.getFriend
现在在id == bot.id
时返回bot.asFriend
OtherClient.id
变为一个特定的 id, 而不是与Bot.id
相同IMirai
低级 API 函数名现在不再带有_lowLevel
前缀
优化和修复
- 在重连时不捕获
Error
(#824) - 修复
ListenerHost.registerTo
没有调用EventChannel.parentScope
的问题 - 修复
NormalMember.toString
- 修复禁言事件解析错误的问题 (#811)
- 修复发送 At 内容有误的问题
- 修复戳一戳发起人解析异常的问题 (#664, #795 by @sandtechnology)
- 修复
QuoteReply
StackOverflowError
- 修复
QuoteReply.source
的MessageSource.kind
错误的问题 - 修复
RichMessage.Key
的baseKey
- 在
ExternalResource.uploadImage
和ExternalResource.sendImage
添加formatName
参数 - 实现
ForwardMessage.contentToString
- 在资源关闭后自动删除缓存文件
- 在 Bot 离线时不会关闭 Bot (#838)
- 修复部分 PC 客户端的消息不能同步的问题 (#787, #836 by @sandtechnology)
- 修复内存泄露问题 (#556)
- 一些小类型变更
- 大量代码优化和文档更新
兼容性
2.0-M2
-> 2.0-RC
有部分二进制不兼容,因此可能需要重新编译。
在 2.0-RC
和之后版本, 你可以使用 mirai 官方维护的项目的以下同步版本:
- mirai-console:
2.0-RC
- chat-command:
0.4.0
- mirai-api-http:
1.9.6
- mirai-native: (稍后发布)