高效率 QQ 机器人支持库
Go to file
2020-02-20 13:29:20 +08:00
.github Revert workflow main.yml 2020-02-18 11:45:29 +08:00
docs Update guide 2020-02-20 13:28:44 +08:00
gradle 0.15.3 2020-02-18 20:02:21 +08:00
mirai-api-http http api event dto model 2020-02-20 01:31:23 +08:00
mirai-console Replace all 登陆s with 登录 2020-02-19 13:25:41 +08:00
mirai-console-graphical play with ui any way 2020-02-19 23:37:27 +08:00
mirai-console-terminal Replace all 登陆s with 登录 2020-02-19 13:25:41 +08:00
mirai-core Add MessageSource.time 2020-02-20 13:24:27 +08:00
mirai-core-qqandroid Add MessageSource.time 2020-02-20 13:24:27 +08:00
mirai-debug Add copyright 2020-02-09 01:01:36 +08:00
mirai-demos Make java user happier 2020-02-18 13:18:30 +08:00
mirai-japt Deprecate BlockingBot.dispose 2020-02-19 10:28:10 +08:00
mirai-plugins rename console 2020-02-16 01:14:37 +08:00
.gitignore loginpacket correction 2020-01-29 20:18:27 +08:00
.travis.yml travis 2019-12-15 17:00:02 +08:00
build.gradle Fuck bintray publish 2020-02-15 22:54:17 +08:00
CHANGELOG.md 0.17.0 2020-02-20 11:36:43 +08:00
debuggui.cmd Improve debugger 2019-11-24 16:54:13 +08:00
gradle.properties 0.17.0 2020-02-20 11:36:43 +08:00
gradlew gradle 6.1.1 2020-02-06 14:55:57 +08:00
gradlew.bat Multiplatform with gradle building 2019-10-03 19:07:03 +08:00
LICENSE LICENSE 2019-12-05 13:15:50 +08:00
README-eng.md English Acknowledgement 2020-01-14 22:09:15 +08:00
README.md Update README.md 2020-02-19 09:08:33 +08:00
settings.gradle Fix tips 2020-02-18 12:10:38 +08:00

logo
title

Gitter Actions Status Download

Mirai 是一个在全平台下运行,提供 QQ Android 和 TIM PC 协议支持的高效率机器人框架

这个项目的名字来源于

京都动画作品《境界的彼方》栗山未来(Kuriyama Mirai)

CRYPTON初音未来为代表的创作与活动(Magical Mirai)

图标以及形象由画师DazeCake绘制

Mirai

English

多平台 QQ Android 和 TimPC 协议支持库与高效率的机器人框架.
纯 Kotlin 实现协议和支持框架,模块全部免费开源
目前可运行在 JVM 或 Android。 Mirai既可以作为你项目中的QQ协议支持Lib, 也可以作为单独的Application与插件承载QQ机器人

一切开发旨在学习,请勿用于非法用途

加入 Gitter, 或加入 QQ 群: 655057127

CHANGELOG

Project 查看已支持功能和计划 在 CHANGELOG 查看版本更新记录 (仅发布的版本)

Modules

mirai-core

通用 API 模块,一套 API 适配两套协议。
请参考此模块的 API

mirai-core-qqandroid

QQ for Android 8.2.0 版本2019 年 12 月)协议的实现,目前完成大部分。

  • 高兼容性:协议仅含极少部分为硬编码,其余全部随官方方式动态生成
  • 高安全性密匙随机ECDH 动态计算
  • 已支持大部分使用场景, 详情请在Project查看

mirai-core-timpc

TIM PC 2.3.2 版本2019 年 8 月)协议的实现
支持的功能:

  • 消息收发:图片文字复合消息,图片消息
  • 群管功能:群员列表,禁言 (目前不再更新此协议,请关注上文的安卓协议)

Use directly

直接使用 Mirai(终端环境/网页面板(将来)).
Mirai-Console 插件支持, 在终端中启动 Mirai 并获得机器人服务
本模块还未完善。

Use as a library

mirai-core 为独立设计, 可以作为库内置于任意 Java(JVM)/Android 项目中使用.

请将 VERSION 替换为最新的版本(如 0.15.0): Download
Mirai 目前还处于实验性阶段, 我们无法保证任何稳定性, API 也可能会随时修改.

Maven

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>

Gradle

Mirai 只发布在 jcenter, 因此请确保添加 jcenter() 仓库:

repositories{
  jcenter()
}

若您需要使用在跨平台项目, 则要对各个目标平台添加不同的依赖,这与 kotlin 相关多平台库的依赖是类似的。
若您只需要使用在单一平台, 则只需要添加一项该平台的依赖.

注意: Mirai 核心由 API 模块(mirai-core)和协议模块组成。
只添加 API 模块将无法正常工作。
现在只推荐使用 QQAndroid 协议,请参照下文选择对应目标平台的依赖添加。

jvm (JVM 平台)

implementation("net.mamoe:mirai-core-qqandroid-jvm:VERSION")

common (通用平台)

implementation("net.mamoe:mirai-core-qqandroid-common:VERSION")

android (Android 平台)

implementation("net.mamoe:mirai-core-qqandroid-android:VERSION")

Java Compatibility

若你希望使用 Java 开发, 请查看: mirai-japt

Performance

Android 上, Mirai 运行需使用 80M 内存.
JVM 上启动需 80M 内存, 每多一个机器人实例需要 30M 内存.

Contribution

我们欢迎一切形式的贡献。
我们也期待有更多人能加入 Mirai 的开发。

若在使用过程中有任何疑问, 可提交 issue 或是邮件联系(support@mamoe.net). 我们希望 Mirai 变得更易用.

您的 star 是对我们最大的鼓励(点击项目右上角)

Wiki

Wiki 中查看各类帮助,如 API 示例

Try

On JVM or 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} 成为了管理员")
}
  1. Clone
  2. Import as Gradle project
  3. 运行 Demo 程序: mirai-demo 示例和演示程序

Build Requirements

  • Kotlin 1.3.61
  • JDK 8 (required)
  • JDK 11for protocol tools, optional
  • Android SDK 29 (for Android target, optional)

Libraries used

感谢:

License

协议原版权归属腾讯科技股份有限公司所有,本项目其他代码遵守:
GNU AFFERO GENERAL PUBLIC LICENSE version 3

其中部分要求:

  • (见 LICENSE 第 13 节) 尽管本许可协议有其他规定,但如果您修改本程序,则修改后的版本必须显着地为所有通过计算机网络与它进行远程交互的用户(如果您的版本支持这种交互)提供从网络服务器通过一些标准或惯用的软件复制方法免费访问相应的源代码的机会
  • (见 LICENSE 第 4 节) 您可以免费或收费地传递这个项目的源代码或目标代码(即编译结果), 但前提是提供明显的版权声明 (您需要标注本 GitHub 项目地址)

Acknowledgement

特别感谢 JetBrains 为开源项目提供免费的 IntelliJ IDEA 等 IDE 的授权