Mirai 是一个在全平台下运行,提供 QQ Android 和 TIM PC 协议支持的高效率机器人框架
这个项目的名字来源于
京都动画作品《境界的彼方》的栗山未来(Kuriyama Mirai)
CRYPTON以初音未来为代表的创作与活动(Magical Mirai)
图标以及形象由画师DazeCake绘制多平台 QQ Android 和 TIM PC 协议支持库与高效率的机器人框架.
纯 Kotlin 实现协议和支持框架,模块全部免费开源。
目前可运行在 JVM 或 Android。
Mirai既可以作为你项目中的QQ协议支持Lib, 也可以作为单独的Application与插件承载QQ机器人
一切开发旨在学习,请勿用于非法用途
加入 Gitter, 或加入 QQ 群: 655057127
Mirai支持以多种方式进行部署,但是目前,我们在集中对mirai-core,mirai-japt, mirai-api-http, mirai-console等核心模块进行特性的开发。
了解 mirai 架构: Wiki
- (mirai 官方)
Java
或Kotlin
: 为 mirai-console 直接编写插件并与其他插件开发者合作共享 - (来自社区)C, C++ 等原生语言: mirai-native 支持酷Q插件在mirai上运行
- (来自社区)Python: python-mirai 基于
Mirai-http-api
的 Mirai Framework for Python - (来自社区)JavaScript(NodeJS) node-mirai Mirai的NodeJs SDK
- (mirai 官方)其他任意语言: mirai HTTP 接口 进行接入
- Kotlin 简略版: Mirai Guide - Quick Start
- Kotlin 新手版: Mirai Guide - Getting Started
- Java: mirai-japt
- mirai-console 支持插件, 全平台可运行(UI版, Unix版, Android版, Web版) 本模块正在完善
- 酷Q的插件可以在
Mirai
中加载, 详见 Mirai-Native - 使用
酷Q HTTPAPI
的插件将可以在mirai
中加载,Mirai-CQ-Adapter
正在计划中
通用 API 模块,一套 API 适配两套协议。 请参考此模块的 API
QQ for Android (8.2.0 版本,2019 年 12 月)协议的实现,目前完成大部分。
- 高兼容性:协议仅含极少部分为硬编码,其余全部随官方方式动态生成
- 高安全性:密匙随机,ECDH 动态计算
- 已支持大部分使用场景, 详情请在Project查看
TIM PC (2.3.2 版本,2019 年 8 月)协议的实现
支持的功能:
- 消息收发:图片文字复合消息,图片消息
- 群管功能:群员列表,禁言 (目前不再更新此协议,请关注上文的安卓协议)
我们欢迎一切形式的贡献。
我们也期待有更多人能加入 Mirai
的开发。
若在使用过程中有任何疑问, 可提交 issue
或是邮件联系. 我们希望 Mirai
变得更易用.
您的 star
是对我们最大的鼓励(点击项目右上角)
特别感谢 JetBrains 为开源项目提供免费的 IntelliJ IDEA 等 IDE 的授权
- kotlin-stdlib
- kotlinx-coroutines
- kotlinx-io
- kotlin-reflect
- pcap4j
- atomicfu
- ktor
- tornadofx
- javafx
- kotlinx-serialization
- bouncycastle
- lanterna
- fastjson
- toml4j
- snakeyaml
协议原版权归属腾讯科技股份有限公司所有,本项目其他代码遵守:
GNU AFFERO GENERAL PUBLIC LICENSE version 3
其中部分要求:
- (见 LICENSE 第 13 节) 尽管本许可协议有其他规定,但如果您修改本程序,则修改后的版本必须显着地为所有通过计算机网络与它进行远程交互的用户(如果您的版本支持这种交互)提供从网络服务器通过一些标准或惯用的软件复制方法免费访问相应的源代码的机会
- (见 LICENSE 第 4 节) 您可以免费或收费地传递这个项目的源代码或目标代码(即编译结果), 但前提是提供明显的版权声明 (您需要标注本
GitHub
项目地址)
Copyright (C) 2019-2020 mamoe 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/>.