Mirai 是一个在全平台下运行,提供 QQ Android 和 TIM PC 协议支持的高效率机器人库
这个项目的名字来源于
京都动画作品《境界的彼方》的栗山未来(Kuriyama Mirai)
CRYPTON以初音未来为代表的创作与活动(Magical Mirai)
图标以及形象由画师DazeCake绘制QQ Android 协议支持库与高效率的机器人框架
纯 Kotlin 实现协议和支持库
mirai 既可以作为项目中的 QQ 协议支持库, 也可以作为单独的应用程序与插件承载 QQ 机器人服务。
支持的协议列表
| 消息相关 | 支持 |
|---|---|
| 文字 | 群聊 | 好友 | 临时会话 |
| 原生表情 | 群聊 | 好友 | 临时会话 |
| 图片 上传 / 发送 / 解析 (最大 20M) | 群聊 | 好友 | 临时会话 |
| 图片下载 | 群聊 | 好友 | 临时会话 |
| XML, JSON 等富文本消息 | 群聊 | 好友 | 临时会话 |
| 长消息 (5000 字符 + 50 图片) | 群聊 |
| 引用回复 | 群聊 | 好友 | 临时会话 |
| 合并转发 (最大 200 条) | 群聊 |
| 撤回 | 群聊 | 好友 | 临时会话 |
| At (含 At 全体成员) | 群聊 |
| 撤回群员消息 | 群聊 |
| 群相关 |
|---|
| 完整群列表; 完整群成员列表 |
| 群员权限获取 |
| 禁言群员; 全员禁言; 禁言时间获取 |
| 群公告管理(获取, 发布, 删除) |
| 群设置(自动审批, 入群公告, 坦白说, 成员邀请, 匿名聊天) |
| 处理入群申请; 移除群员 |
| 好友相关 |
|---|
| 完整好友列表 |
| 处理新好友申请 |
- 点赞
- 收付款
- 主动添加好友
- 主动加入群
- 主动邀请好友加群
一切开发旨在学习,请勿用于非法用途
- 快速上手:quickstart
- 开发文档:docs/mirai.md
- 常见问题: docs/FAQ.md
- 更新日志: CHANGELOG 或 release
- 开发计划: milestones
- 贡献: CONTRIBUTING
官方支持 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 对接到机器人开发框架再到开箱即用的插件式机器人程序一应俱全。
Demos: mirai-demos
Kotlin简略版: Mirai Guide - Quick StartKotlin新手版: Mirai Guide - Getting StartedJava: 查看上述 Demos
- mirai-console 支持插件的控制台服务端,支持PC和Android平台 本模块正在开发中
- 酷Q的插件可以在 mirai 中加载, 详见 Mirai-Native
- 使用
酷Q HTTP API的插件将可以在 mirai 中加载,Mirai-CQ-Adapter正在进行中
我们欢迎一切形式的贡献。
我们也期待有更多人能加入 mirai 的开发。
若在使用过程中有任何疑问, 可提交 issue 或是邮件联系. 我们希望 mirai 变得更易用.
您的 star 是对我们最大的鼓励(点击项目右上角)
IntelliJ IDEA 是一个在各个方面都最大程度地提高开发人员的生产力的 IDE, 适用于 JVM 平台语言。
特别感谢 JetBrains 为开源项目提供免费的 IntelliJ IDEA 等 IDE 的授权
协议原版权归属腾讯科技股份有限公司所有,本项目其他代码遵守:
GNU AFFERO GENERAL PUBLIC LICENSE version 3
其中部分要求:
- (见 LICENSE 第 13 节) 尽管本许可协议有其他规定,但如果您修改本程序,则修改后的版本必须显着地为所有通过计算机网络与它进行远程交互的用户(如果您的版本支持这种交互)提供从网络服务器通过一些标准或惯用的软件复制方法免费访问相应的源代码的机会
- (见 LICENSE 第 4 节) 您可以免费或收费地传递这个项目的源代码或目标代码(即编译结果), 但前提是提供明显的版权声明 (您需要标注本
GitHub项目地址)
Copyright (C) 2019-2020 Mamoe Technologies and mirai 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/>.