Bot releases are hidden (Show)
新增事件: BotReloginEvent
和 BotOfflineEvent.Dropped
AtAll
现在实现 Message.Key
新增 BotConfiguration
DSL, 支持自动将设备信息存储在文件系统等
新增 MessageSource.quote(Member)
更好的网络层连接逻辑
密码错误后不再重试登录
掉线后尝试快速重连, 失败则普通重连 (#47)
有原因的登录失败时将抛出特定异常: LoginFailedException
默认心跳时间调整为 60s
AtAll
AtAll
的发送和解析小优化:
GroupMessage
添加 quoteReply(Message)
, 可快速引用消息并回复CoroutineScope.subscribeMessages
添加返回值. 返回 lambda 的返回值At
的空格处理 (自动为 At
之后的消息添加空格)BotConfiguration
中一些过时的设置context
参数.addAll
性能)安卓协议发布, 基于版本 8.2.0
支持的功能:
HTTP API 已完成, by @ryoii.
详见 README
Mirai 仍处于快速迭代状态. 将来仍可能会有 API 改动.
(contains("1") and has<Image>()){
reply("Your message has a string '1' and an image contained")
}
(contains("1") or endsWith("2")){
}
原有单一条件语法不变:
contains("1"){
}
"Hello" reply "World"
eq
无法正确判断的问题; 性能优化.cancelled
属性修改为 val
(以前是 var
with private set
)事件优化
更快的监听过程
现在监听不再是 suspend
, 而必须显式指定 CoroutineScope
. 详见 Subscribers.kt
删除原本的 bot.subscribe 等监听模式.
其他
Contact
现在实现接口 CoroutineScope
协议模块独立
现在 mirai-core
只提供基础的抽象类. 具体的各协议实现为 mirai-core-PROTOCOL
.
这些模块都继承自 mirai-core
.
现在, 要使用 mirai, 必须依赖于特定的协议模块, 如 mirai-core-timpc
.
查阅 API 时请查看 mirai-core
.
每个模块只提供少量的额外方法. 我们会给出详细列表.
在目前的开发中无需考虑多协议兼容.
Bot 构造
协议抽象后构造 Bot 需指定协议的 BotFactory
.
在 JVM 平台, Mirai 通过 classname 自动加载协议模块的 BotFactory
事件
大部分事件包名修改.
UInt -> Long
修改全部 QQ ID, Group ID 的类型由 UInt 为 Long.
此为 API 不兼容更新, 将所有无符号标志 u
删除即可. 如 123456u
改为 123456
另还有其他 API 的包名或签名修改.