MiraiBot简介
Mairi项目
项目创建
使用IEDA创建一个新的gradl项目
![gralde](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
请修改红色标签处的信息
项目目录如下图
![gradleTree](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
build.gradle.kts配置
主要引进mirai-core-jvm库和增加仓库地址https://jitpack.io
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins { kotlin("jvm") version "1.8.21" application }
group = "top.kagerou" version = "1.0-dev"
repositories { mavenCentral() maven { url = uri("https://jitpack.io") } }
dependencies { testImplementation(kotlin("test")) implementation("com.squareup.okhttp3:okhttp:4.11.0") implementation("net.mamoe:mirai-core-jvm:2.15.0-M1") implementation("com.alibaba.fastjson2:fastjson2:2.0.31")
}
tasks.test { useJUnitPlatform() }
tasks.withType<KotlinCompile> { kotlinOptions.jvmTarget = "19" }
application { mainClass.set("MainKt") }
|
StratBot文件代码
在main文件夹下创建一个启动文件StratBot.kt 代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| package top.kagerou
suspend fun main() { val qqNumber: Long = 9548751264L val bot = BotFactory.newBot(qqNumber, BotAuthorization.byQRCode()){ fileBasedDeviceInfo("device.json") loginSolver = LoginSolver.Default protocol = BotConfiguration.MiraiProtocol.ANDROID_WATCH } bot.login()
bot.eventChannel.subscribeGroupMessages { "-test1" { subject.sendMessage("这是一个示例的文本消息") } } bot.join() }
|
启动main函数,bot登录时会在控制台请求扫描二维码,用手机QQ在同一网络下扫描二维码即可登录成功。
使用示例
在任意bot所在的群里发送 “-test1” 指令,bot即回复 “这是一个示例的文本消息” 信息。
![test1](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
注意事项
由于使用的时OpenJDK19在于IDEA默认的Gradle版本可能会发生冲突,最好的方案是使用较低的OpenJDK版本,比如15。
或者自定义Gradle版本为gradle-8.1.1。
首先删除项目文件夹下 .gradle/里面的所有内容。
然后修改项目文件夹下 gradle/wrapper/gradle-wrapper.properties 文件中 distributionUrl=https://services.gradle.org/distributions/gradle-8.1.1-bin.zip
1 2 3 4 5
| distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists
|
最后重新构建项目。