Elaina 103dad3f69 将 Graia Framework (v4) 更换为 Avilla (v5) (#1514) %!s(int64=4) %!d(string=hai) anos
..
.UserManual_images fd5334946a Rewrite docs for beginners %!s(int64=4) %!d(string=hai) anos
.mirai_images 644af5e2aa Add docs %!s(int64=5) %!d(string=hai) anos
files 7f2aa442ee Add one-key installer for community SDKs %!s(int64=4) %!d(string=hai) anos
src dcb9a19c45 Update docs: Contacts diagrams %!s(int64=5) %!d(string=hai) anos
Bots.md b41ee54f6c Release version 2.7.0 %!s(int64=4) %!d(string=hai) anos
ConciseAPI.md a4f0bbfe80 Fix document of `RandomAccessFile.toExternalResource()` %!s(int64=4) %!d(string=hai) anos
ConfiguringProjects.md f90320bd2b Snapshots publishing (#1465) %!s(int64=4) %!d(string=hai) anos
Contacts.md c03155af6d Review docs and improve readability (#1291) %!s(int64=4) %!d(string=hai) anos
CoreAPI.md 15021e3abb Create `Concise API` (#1326) %!s(int64=4) %!d(string=hai) anos
DebuggingNetwork.md 881fbd7062 Add doc of `mirai.event.show.verbose.events` %!s(int64=4) %!d(string=hai) anos
EventList.md c03155af6d Review docs and improve readability (#1291) %!s(int64=4) %!d(string=hai) anos
Events.md 8d1884c98a Fix typo %!s(int64=4) %!d(string=hai) anos
Evolution.md 7b5cbfce5b Update docs %!s(int64=5) %!d(string=hai) anos
KotlinAndJava.md 7b5cbfce5b Update docs %!s(int64=5) %!d(string=hai) anos
Messages.md 8a86c3722f Update Messages.md %!s(int64=4) %!d(string=hai) anos
MigrationFrom1x.md 39015d6b85 Update docs %!s(int64=5) %!d(string=hai) anos
Preparations.md 39015d6b85 Update docs %!s(int64=5) %!d(string=hai) anos
README.md 103dad3f69 将 Graia Framework (v4) 更换为 Avilla (v5) (#1514) %!s(int64=4) %!d(string=hai) anos
UserManual.md 1ad00134fa Update UserManual.md %!s(int64=4) %!d(string=hai) anos
UsingSnapshots.md f90320bd2b Snapshots publishing (#1465) %!s(int64=4) %!d(string=hai) anos
mirai-ecology.md fd5334946a Rewrite docs for beginners %!s(int64=4) %!d(string=hai) anos
mirai.png 8054fc6810 修改图标 %!s(int64=5) %!d(string=hai) anos
mirai.svg 8054fc6810 修改图标 %!s(int64=5) %!d(string=hai) anos

README.md

Mirai

欢迎来到 mirai 开发文档。

本文面向要进行开发的用户。对于只使用现成插件的用户,请阅读 用户手册

Mirai 生态概览

Mirai VuePress 文档

社区 SDK

mirai 官方提供 Kotlin/Java 等 JVM 平台语言开发支持。如果不熟悉这些语言,请使用以下社区 SDK:

要使用这些社区 SDK 需要先配置 Mirai Console,可以使用 一键安装(32位,带 HTTP 插件),也可以阅读 用户手册 进行个性化安装。

你可以使用一个或多个语言来开发插件,而且在自己开发的同时也可以使用下载的插件

原生接口

这些接口直接在 JVM 上实现,不需要中间件,拥有更佳的性能。

技术 维护者及项目地址
Kotlin Scripting iTXTech/mirai-kts
C++ Nambers/MiraiCP
JavaScript iTXTech/mirai-js
酷 Q DLL 插件 iTXTech/mirai-native

HTTP 接口

目前有两个 HTTP 协议插件。使用 HTTP 协议插件可以支持更多编程语言和技术。

  • Mirai HTTP 由 Mirai 开发团队提供第一级支持,目前多数 SDK 都基于它;
  • OneBot 标准则兼容原酷Q协议,可以让基于酷Q HTTP 插件的项目在 Mirai 平台运行。
名称 实现 维护者及项目地址
Mirai Http Mirai 标准 mamoe/mirai-api-http
OneBot Http OneBot 标准 yyuueexxiinngg/onebot-kotlin

下表列举基于 Mirai HTTP 插件实现对一些编程语言支持的项目列表。要使用它们,你需要在 Mirai Console 安装 mirai-api-http(如果使用上面的一键安装则不需要额外操作)。

语言和技术 维护者及项目地址
C# Executor-Cheng/mirai-CSharp
C# Hyperai
C# Coloryr/ColorMirai
C# AhpxChina/Mirai.Net
C# Miyakowww/CocoaFramework2
C++ cyanray/mirai-cpp
C++ Chlorie/miraipp
Go Logiase/gomirai
JavaScript / Node.js RedBeanN/node-mirai
JavaScript / Node.js drinkal/Mirai-js
JavaScript / TypeScript YunYouJun/mirai-ts
PHP nkxingxh/miraiez
Python Avilla
Python NoneBot
Python jerrita/saaya
Python YiriMirai
Python Excaive/miraicle
Ruby Shimogawa/rubirai
Rust HoshinoTented/mirai-rs
易语言 only52607/e-mirai

按字母顺序排序,排序不代表排名
想在这里添加你的项目?欢迎提交 PR

特别地,有一些 SDK 直接基于 mirai-core 开发,不需要 mirai-console

JVM 平台 Mirai 开发

本节介绍使用 Java、Kotlin 等 JVM 平台编程语言开发 Mirai 或 Mirai Console 插件。

为了避免遇到各种问题,请逐步仔细阅读。

  1. JVM 环境和开发准备工作

  2. 选择框架 建议先阅读 Mirai 生态概览

    • 若要将 mirai 当做依赖库嵌入你的应用使用(你调用 mirai),则需要使用 mirai-core,请阅读 配置项目依赖

    • 若要以插件模式开发(mirai 调用你),可以使用 mirai-console,请阅读 mirai-console 的配置插件项目

  3. 阅读 API 文档(见下文)

如果你希望先确认 mirai 能够正常运行才能安心阅读文档,可克隆 mirai-hello-world 并运行其中 Kotlin 或 Java 入口点 main

之后...

mirai-core API 文档

请在 CoreAPI.md 阅读 JVM 平台的 mirai-core-api 使用文档。