多平台 QQ Android 和 TimPC 协议支持库与高效率的机器人框架.
纯 Kotlin 实现协议和支持框架,模块全部免费开源。
目前可运行在 JVM 或 Android。
Mirai既可以作为你项目中的QQ协议支持Lib, 也可以作为单独的Application与插件承载QQ机器人
一切开发旨在学习,请勿用于非法用途
加入 Gitter, 或加入 QQ 群: 655057127
在 Project 查看已支持功能和计划 在 CHANGELOG 查看版本更新记录 (仅发布的版本)
通用 API 模块,一套 API 适配两套协议。
请参考此模块的 API
QQ for Android (8.2.0 版本,2019 年 12 月)协议的实现,目前完成大部分。
TIM PC (2.3.2 版本,2019 年 8 月)协议的实现,相较于 core,仅新增少量 API. 详见 README.md
支持的功能:
直接使用 Mirai(终端环境/网页面板(将来)).
Mirai-Console 插件支持, 在终端中启动 Mirai 并获得机器人服务
本模块还未完善。
mirai-core 为独立设计, 可以作为库内置于任意 Java(JVM)/Android 项目中使用.
Kotlin 在 Maven 上只支持 JVM 平台.
<repositories>
<repository>
<id>jcenter</id>
<url>https://jcenter.bintray.com/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>net.mamoe</groupId>
<artifactId>mirai-core-qqandroid-jvm</artifactId>
<version>0.15.1</version> <!-- 替换版本为最新版本 -->
</dependency>
</dependencies>
Mirai 只发布在 jcenter, 因此请确保添加 jcenter() 仓库:
repositories{
jcenter()
}
若您需要使用在跨平台项目, 则要对各个目标平台添加不同的依赖,这与 kotlin 相关多平台库的依赖是类似的。
若您只需要使用在单一平台, 则只需要添加一项该平台的依赖. 如只在 JVM 运行则只需要-jvm的依赖
请将 VERSION 替换为最新的版本(如 0.15.0):
Mirai 目前还处于实验性阶段, 我们无法保证任何稳定性, API 也可能会随时修改.
注意:
Mirai 核心由 API 模块(mirai-core)和协议模块组成。
只添加 API 模块将无法正常工作。
现在只推荐使用 QQAndroid 协议,请参照下文选择对应目标平台的依赖添加。
common (通用平台)
implementation("net.mamoe:mirai-core-qqandroid-common:VERSION")
jvm (JVM 平台)
implementation("net.mamoe:mirai-core-qqandroid-jvm:VERSION")
android (Android 平台)
implementation("net.mamoe:mirai-core-qqandroid-android:VERSION")
若你希望使用 Java 开发, 请查看: mirai-japt
Android 上, Mirai 运行需使用 80M 内存.
JVM 上启动需 80M 内存, 每多一个机器人实例需要 30M 内存.
我们欢迎一切形式的贡献。
我们也期待有更多人能加入 Mirai 的开发。
若在使用过程中有任何疑问, 可提交 issue 或是邮件联系([email protected]). 我们希望 Mirai 变得更易用.
您的 star 是对我们最大的鼓励(点击项目右上角)
在 Wiki 中查看各类帮助,如 API 示例(可能过时,待 QQ Android 协议完成后会重写)。
现在体验低付出高效率的 Mirai
val bot = Bot(qqId, password).alsoLogin()
bot.subscribeMessages {
"你好" reply "你好!"
"profile" reply { sender.queryProfile() }
contains("图片"){ File(imagePath).send() }
}
bot.subscribeAlways<MemberPermissionChangedEvent> {
if (it.kind == BECOME_OPERATOR)
reply("${it.member.id} 成为了管理员")
}
感谢:
协议原版权归属腾讯科技股份有限公司所有,本项目其他代码遵守:
GNU AFFERO GENERAL PUBLIC LICENSE version 3
其中部分要求:
GitHub 项目地址)特别感谢 JetBrains 为开源项目提供免费的 IntelliJ IDEA 等 IDE 的授权
