IMirai
Mirai API 接口. 是 Mirai API 与 Mirai 协议实现对接的接口.
获取实例
通常在引用 net.mamoe:mirai-core
模块后就可以通过 Mirai 获取到 IMirai 实例. 在 Kotlin 调用顶层定义 Mirai
, 在 Java 调用 Mirai.getInstance()
.
使用 IMirai 的接口
IMirai 中的接口通常是稳定
手动提供实例
默认通过 _MiraiInstance.get 使用 java.util.ServiceLoader 寻找实例. 若某些环境下 java.util.ServiceLoader 不可用, 可在 Kotlin 手动设置实例:
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") // 必要
net.mamoe.mirai._MiraiInstance.set(net.mamoe.mirai.internal.MiraiImpl())
但通常都可用自动获取而不需要手动设置.
稳定性
使用稳定
所有接口默认是可以稳定使用的. 但 LowLevelApiAccessor 中的方法默认是非常不稳定的.
继承不稳定
IMirai 可能会增加新的抽象属性或函数. 因此不适合被继承或实现.
See also
获取实例
Functions
接收邀请入群(需管理员权限)
通过加群验证(需管理员权限)
通过好友验证
广播一个事件. 由 Event.broadcast 调用.
使用 groupUin 计算 groupCode. 这两个值仅在 mirai 内部协议区分, 一般人使用时无需在意.
使用 groupCode 计算 groupUin. 这两个值仅在 mirai 内部协议区分, 一般人使用时无需在意.
构造一个 OfflineMessageSource.
创建一个 FileMessage. name 与 size 只供本地使用, 发送消息时只会使用 id 和 internalId.
构造 Image. 请优先使用 Image.Factory.create.
获取在线的 OtherClient 列表
向服务器查询群列表. 返回值高 32 bits 为 uin, 低 32 bits 为 groupCode
向服务器查询群成员列表. 请优先使用 Bot.getGroup, Group.members 查看群成员.
获取 uin.
忽略邀请入群(需管理员权限)
忽略加群验证(需管理员权限)
构造一个 Stranger 对象.
获取图片下载链接
查询某个用户的信息
撤回这条消息. 可撤回自己 2 分钟内发出的消息, 和任意时间的群成员的消息.
主动刷新 keys, 如 SKey, PSKey 等.
拒绝加群验证(需管理员权限)
拒绝好友验证
Properties
Extensions
使用 DSL 构建一个 OfflineMessageSource. 用法参考 MessageSourceBuilder.
撤回这条消息.