Back to Mirai

mirai-core-api

mirai-core-api/README.md

2.16.03.3 KB
Original Source

mirai-core-api

mirai 核心 API 模块。本文档帮助读者了解该模块的主要架构。

mirai 为多平台设计。支持 Android 和 JVM 双平台,拥有多个源集。

  • commonMain:平台无关的通用代码。绝大部分代码都存在与这个源集。
  • jvmMain:桌面 JVM 平台的特别实现。
  • androidMain:Android 平台的特别实现。

阅读源码通常阅读 src/commonMain

架构

包名描述
net.mamoe.miraimirai 核心 API
.contact联系人类型。如群 Group,好友 Friend
.event事件框架。提供事件对象的基类以及监听事件的方法
.event.events事件的定义。包含许多事件的具体类, 如消息事件 MessageEvent
.message消息系统
.message.data提供对富文本聊天消息及其元素多样性的抽象
.message.code提供一个易于阅读的消息字符串表示方式
.message.action提供与消息有关的动作的抽象,如戳一戳
.utils一些工具类
.internal内部实现
.internal.event事件框架的实现

net.mamoe.mirai

IMirai

IMirai.kt

API 模块与协议实现模块的对接接口。

  • 单例
  • 通过 ServiceLoader 寻找协议实现
  • ServiceLoader 在特定环境下不可用,外部可在 Kotlin 在调用任何 Mirai API 之前覆盖实例:
    kotlin
    @Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") // 必要
    net.mamoe.mirai._MiraiInstance.set(net.mamoe.mirai.internal.MiraiImpl())
    

Bot

Bot.kt

表示一个机器人对象(账户)。

  • 通过 BotFactory 构造
  • 是功能的入口点----大部分操作都直接或间接经过 Bot
  • 持有联系人(好友和群)对象列表
  • 可获得事件通道

net.mamoe.mirai.contact

联系人系统。docs/Contacts

net.mamoe.mirai.event

事件系统。docs/Contacts

net.mamoe.mirai.event.events

事件列表。README

net.mamoe.mirai.message

消息系统。

MessageReceipt

MessageReceipt.kt

在发送消息(Contact.sendMessage)后收到的回执。

MessageSerializers

MessageSerializers.kt

kotlinx.serialization 序列化支持。

net.mamoe.mirai.message.data

对富文本聊天消息及其元素多样性的抽象。

一个消息元素最基本的接口为 Message.