![logo](https://raw.githubusercontent.com/khjxiaogu/mirai/master/docs/mirai.png)
mirai 是一个在全平台下运行,提供 QQ Android 协议支持的高效率机器人库
这个项目的名字来源于
京都动画作品《境界的彼方》的栗山未来(Kuriyama mirai)
CRYPTON以初音未来为代表的创作与活动(Magical mirai)
图标以及形象由画师DazeCake绘制mirai
声明
一切开发旨在学习,请勿用于非法用途
- mirai 是完全免费且开放源代码的软件,仅供学习和娱乐用途使用
- mirai 不会通过任何方式强制收取费用,或对使用者提出物质条件
- mirai 由整个开源社区维护,并不是属于某个个体的作品,所有贡献者都享有其作品的著作权。
除本页的 Gitter 讨论组外,Mirai 在各个平台均没有任何所谓官方交流群或论坛, 请不要轻信任何所谓学习, 交流群, 不造谣不传谣不信谣从我做起
许可证
Copyright (C) 2019-2020 Mamoe Technologies and contributors.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
mirai
采用 AGPLv3
协议开源。为了整个社区的良性发展,我们强烈建议您做到以下几点:
- 间接接触(包括但不限于使用
Http API
或 跨进程技术)到mirai
的软件使用AGPLv3
开源 - 不鼓励,不支持一切商业使用
鉴于项目的特殊性,开发团队可能在任何时间停止更新或删除项目。
mirai 的形象图及项目图标都拥有著作权保护。
在未经过允许的情况下,任何人都不可以使用形象图和图标,或本文初的有关 mirai 名称来历的介绍原文,用于商业用途或是放置在项目首页,或其他未许可的行为。
衍生软件需声明引用
- 若引用 mirai 发布的软件包而不修改 mirai,则衍生项目需在描述的任意部位提及使用 mirai。
- 若修改 mirai 源代码再发布,或参考 mirai 内部实现发布另一个项目,则衍生项目必须在文章首部或 'mirai' 相关内容首次出现的位置明确声明来源于本仓库 (
https://github.com/mamoe/mirai
)。不得扭曲或隐藏免费且开源的事实。
协议支持
支持的协议列表
消息相关 | 支持 |
---|---|
文字 | 群聊 | 好友 | 临时会话 |
原生表情 | 群聊 | 好友 | 临时会话 |
图片 上传 / 发送 / 解析 (最大 20M) | 群聊 | 好友 | 临时会话 |
图片下载 | 群聊 | 好友 | 临时会话 |
XML,JSON 等富文本消息 | 群聊 | 好友 | 临时会话 |
长消息 (5000 字符 + 50 图片) | 群聊 |
引用回复 | 群聊 | 好友 | 临时会话 |
合并转发 (最大 200 条) | 群聊 |
撤回 | 群聊 | 好友 | 临时会话 |
At (含 At 全体成员) | 群聊 |
撤回群员消息 | 群聊 |
群相关 |
---|
完整群列表; 完整群成员列表 |
群员权限获取 |
禁言群员; 全员禁言; 禁言时间获取 |
群公告管理(获取,发布,删除) |
群设置(自动审批,入群公告,坦白说,成员邀请,匿名聊天) |
处理入群申请; 移除群员 |
好友相关 |
---|
完整好友列表 |
处理新好友申请 |
不会支持的协议
- 金钱相关,如点赞、收付款
- 敏感操作,如主动添加好友、主动加入群、主动邀请好友加群
- 安全相关,获取账号登录凭证(token,cookie等)
一切开发旨在学习,请勿用于非法用途
开始
文档
对于一般使用者, 更建议使用 Mirai Console。拥有更完善的文档。
- 快速上手:quickstart
- 开发文档:docs/mirai.md
- 常见问题: docs/FAQ.md
- 更新日志: CHANGELOG 或 release
- 开发计划: milestones
- 贡献: CONTRIBUTING
使用者
- mirai-console 支持插件的控制台服务端,支持PC和Android平台 本模块正在开发中
- awesome-mirai mirai相关项目合集
从其他平台迁移
- 酷Q的插件可以在
mirai
中加载,详见 Mirai Native - 使用
酷Q HTTP API
的插件将可以在mirai
中通过CQHTTP Mirai
加载,详见 cqhttp-mirai
开发者
使用 mirai-console 服务端,为 mirai-console 开发插件
官方支持 SDK 列表:
Java
,Kotlin
等 JVM 语言: 为 mirai-console 直接编写插件并与其他插件开发者合作共享Kotlin Script
: mirai-kts 支持使用kts
编写插件,享受Kotlin
带来的一切便利(仅 OpenJDK 8 以上环境,不支持 Android)C
,C++
等原生语言: mirai-native 支持酷 Q 插件在 mirai 上运行 (仅限Windows 32 位 JRE
/支持Wine
)JavaScript
: mirai-js 支持使用JavaScript
编写插件并直接与 mirai 交互- Http:使用由 mirai-api-http 提供的 http 接口进行接入
社区支持的 SDK 列表
基于 mirai-core
(独立使用):
Lua
: lua-mirai 基于 mirai-core 的 Lua SDK,并提供了 Java 扩展支持,可在 Lua 中调用 Java 代码开发机器人
基于 mirai-http-api
(配合 mirai-console):
Python
: Graia Framework 基于mirai-api-http
的机器人开发框架JavaScript
(Node.js
): node-mirai mirai 的 Node.js SDKGo
: gomirai 基于 mirai-api-http 的 GoLang SDKMozilla Rhino
: mirai-rhinojs-sdk 为基于 Rhino(如 Auto.js 等安卓 app 或运行环境)的 JavaScript 提供简单易用的 SDKC++
: mirai-cpp mirai-http-api 的 C++ 封装,方便使用 C++ 开发 mirai-http-api 插件C++
: miraipp mirai-http-api 的另一个 C++ 封装,使用现代 C++ 特性,并提供了较完善的说明文档C#
: mirai-CSharp 基于 mirai-api-http 的 C# SDKRust
: mirai-rs mirai-http-api 的 Rust 封装TypeScript
: mirai-ts mirai-api-http 的 TypeScript SDK,附带声明文件,拥有良好的注释和类型提示,也可作为 JavaScript SDK 使用。易语言
: e-mirai mirai-api-http 的 易语言 SDK,使用全中文环境开发插件,适合编程新手使用。.Net/C#
: Hyperai 从 mirai-api-http 对接到机器人开发框架再到开箱即用的插件式机器人程序一应俱全。
使用 mirai-core 为第三方依赖库引入项目
Demos: mirai-demos
Kotlin
简略版: mirai Guide - Quick StartKotlin
新手版: mirai Guide - Getting StartedJava
: 查看上述 Demos
贡献
我们欢迎一切形式的贡献。
我们也期待有更多人能加入 mirai 的开发。
若在使用过程中有任何疑问,可提交 issue
或是邮件联系. 我们希望 mirai 变得更易用.
您的 star
是对我们最大的鼓励(点击项目右上角)
加入 mirai 开发组
若您有意加入 mirai, mirai-console 和相关社区开发, 请 邮件联系 (support@mamoe.net
), 并附加相关开发经验证明.
鸣谢
IntelliJ IDEA 是一个在各个方面都最大程度地提高开发人员的生产力的 IDE,适用于 JVM 平台语言。
特别感谢 JetBrains 为开源项目提供免费的 IntelliJ IDEA 等 IDE 的授权