github mamoe/mirai 2.0-RC

latest releases: v2.16.0, v2.16.0-RC, v2.15.0...
3 years ago

由旧版本迁移

请查看 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 相关的 asMessageChaintoMessageChain
  • 弃用 MessageChain 相关的 flatten
  • 弃用 Message.isPlain, Message.isNotPlain, Message.isContentNotEmpty
  • 弃用 Member.isNormal, Member.isAnonymous
  • 弃用 ContactList.idContentString
  • 删除 MessageSourceisAboutFriend, isAboutGroup, isAboutTemp
  • Listener.ConcurrencyKindListener.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.sourceMessageSource.kind 错误的问题
  • 修复 RichMessage.KeybaseKey
  • ExternalResource.uploadImageExternalResource.sendImage 添加 formatName 参数
  • 实现 ForwardMessage.contentToString
  • 在资源关闭后自动删除缓存文件
  • 在 Bot 离线时不会关闭 Bot (#838)
  • 修复部分 PC 客户端的消息不能同步的问题 (#787, #836 by @sandtechnology)
  • 修复内存泄露问题 (#556)
  • 一些小类型变更
  • 大量代码优化和文档更新

兼容性

2.0-M2 -> 2.0-RC 有部分二进制不兼容,因此可能需要重新编译。

2.0-RC 和之后版本, 你可以使用 mirai 官方维护的项目的以下同步版本:

Don't miss a new mirai release

NewReleases is sending notifications on new releases.