Mirai 是一个在全平台下运行,提供 QQ Android 和 TIM PC 协议支持的高效率机器人框架
这个项目的名字来源于
京都动画作品《境界的彼方》的栗山未来(Kuriyama Mirai)
CRYPTON以初音未来为代表的创作与活动(Magical Mirai)
图标以及形象由画师DazeCake绘制多平台 QQ Android 和 TIM PC 协议支持库与高效率的机器人框架.
纯 Kotlin 实现协议和支持框架,模块全部免费开源。
目前可运行在 JVM 或 Android 平台。
mirai 既可以作为你项目中的 QQ 协议支持库, 也可以作为单独的应用程序与插件承载 QQ 机器人服务。
一切开发旨在学习,请勿用于非法用途
Mirai 目前为快速流转(Moving fast)状态, 增量版本之间可能不具有兼容性,任何功能都可能在没有警告的情况下添加、删除或者更改。
Mirai 源码完全开放, 您可以参考 Mirai 的协议实现来开发其他框架, 但需注明来源并遵守开源协议要求 (AGPLv3)。
了解 mirai 架构: Wiki
- (官方)
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 HTTP 接口 进行接入
Demos: mirai-demos
Kotlin
简略版: Mirai Guide - Quick StartKotlin
新手版: Mirai Guide - Getting StartedJava
: 查看上述 Demos
- mirai-console 支持插件 本模块正在完善
- 酷Q的插件可以在 mirai 中加载, 详见 Mirai-Native
- 使用
酷Q HTTP API
的插件将可以在 mirai 中加载,Mirai-CQ-Adapter
正在进行中
通用 API 模块,一套 API 适配两套协议。 请参考此模块的 API
QQ for Android (8.2.7 版本,2020 年 3 月)协议的实现,目前完成大部分。
- 高兼容性:协议仅含极少部分为硬编码,其余全部随官方方式动态生成
- 高安全性:密匙随机,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/>.