4.7 KiB
Mirai
TIM PC 协议 跨平台 QQ 协议支持库.
纯 Kotlin 实现协议和支持框架. 目前可运行在 JVM 或 Android.
部分协议来自网络上开源项目.
一切开发旨在学习,请勿用于非法用途
您可在 Gitter 提问, 或加入 QQ 群: 655057127
Update log
在 Project 查看已支持功能和计划
在 UpdateLog 查看版本更新记录
Contribution
我(Him188)将会一直维护这个项目,除非遇到不可抗力因素。
我们欢迎一切形式的贡献。
我们也期待有更多人能加入 Mirai 的开发。
若在使用过程中有任何疑问, 可提交 issue 或是邮件联系. 我们希望 Mirai 变得更易用.
您的 star 是对我们最大的鼓励(点击项目右上角);
若要关注版本更新, 请点击 star 旁边的 watch
Use as a library
把 Mirai 作为库内置于您的项目中使用.
Mirai 只上传在 jcenter
, 因此请确保在 build.gradle
添加 jcenter()
仓库
repositories{
jcenter()
}
若您需要使用在跨平台项目, 您需要对各个目标平台添加不同的依赖.
若您只需要使用在单一平台, 则只需要添加一项该平台的依赖.
您需要将 VERSION
替换为最新的版本(如 0.5.1
):
Mirai 目前还处于实验性阶段, 建议您时刻保持最新版本.
现在 Mirai 只支持 TIM PC 协议.
common
implementation("net.mamoe:mirai-core-timpc-common:VERSION")
jvm
implementation("net.mamoe:mirai-core-timpc-jvm:VERSION")
android
implementation("net.mamoe:mirai-core-timpc-android:VERSION")
Try
On JVM or Android
现在您可以开始体验低付出高效率的 Mirai
val bot = TIMPC.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} 成为了管理员")
}
- Clone
- Import as Gradle project
- 运行 Demo 程序: mirai-demo 示例和演示程序
Build Requirements
- Kotlin 1.3.61
- JDK 8
- Android SDK 29
Using Java
Q: 是否能只使用 Java 而不使用 Kotlin 来调用 Mirai?
A: 正在适配中.
Mirai 大量使用协程, 内联, 扩展等 Kotlin 专有特性. 在 Java 调用这些 API 将会非常吃力.
我们正在为 Java 调用提供转接。
Libraries used
Mirai 使用以下开源库:
- kotlin-stdlib
- kotlinx-coroutines
- kotlinx-io
- kotlin-reflect
- pcap4j
- atomicfu
- ktor
- tornadofx
- javafx
- kotlinx-serialization
License
GNU AFFERO GENERAL PUBLIC LICENSE version 3
其中部分要求:
- (见 LICENSE 第 13 节) 尽管本许可协议有其他规定,但如果您修改本程序,则修改后的版本必须显着地为所有通过计算机网络与它进行远程交互的用户(如果您的版本支持这种交互)提供从网络服务器通过一些标准或惯用的软件复制方法免费访问相应的源代码的机会
- (见 LICENSE 第 4 节) 您可以免费或收费地传递这个项目的源代码或目标代码(即编译结果), 但前提是提供明显的版权声明 (您需要标注本
GitHub
项目地址)
对开源的尊重是一个程序员最基本的品质.
Wiki
在 Wiki 中查看各类帮助