github mamoe/mirai v2.5.0
2.5.0

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

mirai-core

新特性

  • 新增 Kotlin Android 编译目标 (API 24), 使用 android.util.Log 作为默认日志实现, 并进行一些平台优化. (#988, #989)
    与 JVM 目标的区别:

    项目 Android JVM
    LoginSolver 无默认实现 提供 CLI, Swing 及 Selenium 滑动验证实现
    PlatformLogger 默认使用 android.util.Log 默认输出到 System.out

    现在在 Android 模块中使用 mirai 时会自动下载 Android 目标包, 这个切换是完全二进制和源码兼容的.

  • 支持群文件 RemoteFile 和文件消息 FileMessage: (#805, #1069, #1104, #1098, #1105)

    • 多线程上传

    • 获取下载链接

    • 重命名, 移动, 删除

    • 解析文件消息

    • 转发

    • 序列化 (#1082)

  • 支持新消息类型骰子 Dice (#1018, #1012, #1017 by @sandtechnology, @lc6a)

  • 实现 MusicShare 的 Mirai 码 (#1044)

  • MessageSubscriberBuilder 的各 reply 处理时忽略 null 返回值 (#1011)

优化和修复

  • 更新 Kotlin 到 1.4.30, 更新相关依赖 (#1049):

    模块 版本
    kotlin-stdlib 1.4.30
    kotlinx-coroutines-core 1.4.2
    kotlinx-serialization-core 1.1.0
    ktor-client-core 1.5.1
    atomicFU 0.15.1
    yamlkt 0.9.0
    kotlin-jvm-blocking-bridge 1.10.3

    通常来说, mirai 使用者也会自动获取到这些更新, 而不需要手动操作.
    如果编译失败, 请更新 Kotlin 编译器到 1.4.30 及以上.

  • 更新 FileCacheStrategy 的文档 (#1046)

  • 过滤重复的群成员变更事件

  • 优化在发送消息同时 Bot 被禁言导致消息发送失败时的异常, 现在抛出 BotIsBeingMutedException 而不是内部错误

  • 优化系统通知处理, 可能解决 #959, #610

  • 修复在拒绝添加好友请求时仍然创建了 Friend 对象的问题

  • 修复在接收消息时判断群成员权限失败的问题 (#1013, #1050)

  • 修复登录时加载 Bot.nick 出错的问题 (#1023)

  • 修复回复信息没有正确剔除多余的 at 的问题

  • 修复 Java 调用一些方法时发生 NoClassDefFoundError 的问题 (#1078, #1080)

  • 修复部分事件没有记录到日志的问题

  • 修复重复广播 MemberJoinEvent 的问题 (#1090)

  • 修复在 TIM 加入一个新群,不会触发 BotJoinGroupEvent 的问题 (#1058, #1060 by @sandtechnology)

  • 修复合并转发无法在 iOS 客户端查看的问题 (#1052)

  • 优化消息日志, 不进行 mirai 码格式转义处理

  • 提升网络稳定性

mirai-console

  • CompositeCommand.SubCommand.value 增加默认值 []

  • 为前端增加访问后端内部数据的接口 MiraiConsoleImplementation.backendAccess

  • 修复 Java 下 Command 没有正确识别 CommandSender 参数的问题 (mamoe/mirai-console#295)

  • 修复读取插件主类服务时没有忽略注释的问题

  • /help 指令时不显示没有权限执行的指令

  • 在停止服务时调用 Bot.close

  • CommandSender 类型不满足要求时应提示 "需要由xxx执行" 而不是 "参数类型错误" (mamoe/mirai-console#309 by @zrnq)

Don't miss a new mirai release

NewReleases is sending notifications on new releases.