From e46dd284ea70315c35cf319e977684c78cbfd54f Mon Sep 17 00:00:00 2001 From: PeratX Date: Mon, 28 Dec 2020 22:15:40 +0800 Subject: [PATCH] mirai: update 2.0-M2 --- build.gradle.kts | 6 +++--- .../org/itxtech/mirainative/bridge/MiraiBridge.kt | 3 ++- .../org/itxtech/mirainative/manager/EventManager.kt | 6 ++++-- .../mirainative/message/ChainCodeConverter.kt | 12 ++++++------ .../kotlin/org/itxtech/mirainative/util/Music.kt | 4 ++-- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 78c5819..3653e70 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,10 +1,10 @@ plugins { - kotlin("jvm") version "1.4.20" - kotlin("plugin.serialization") version "1.4.20" + kotlin("jvm") version "1.4.21" + kotlin("plugin.serialization") version "1.4.21" id("com.jfrog.bintray") version "1.8.5" `maven-publish` - id("net.mamoe.mirai-console") version "2.0-M1" + id("net.mamoe.mirai-console") version "2.0-M2" } group = "org.itxtech" diff --git a/src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt b/src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt index eda0adb..21cf041 100644 --- a/src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt +++ b/src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt @@ -177,7 +177,8 @@ object MiraiBridge { fun setGroupKick(pluginId: Int, groupId: Long, memberId: Long) = call("CQ_setGroupKick", pluginId, 0) { MiraiNative.launch { - MiraiNative.bot.getGroup(groupId)?.get(memberId)?.kick() + //TODO: kick message + MiraiNative.bot.getGroup(groupId)?.get(memberId)?.kick("") } return 0 } diff --git a/src/main/kotlin/org/itxtech/mirainative/manager/EventManager.kt b/src/main/kotlin/org/itxtech/mirainative/manager/EventManager.kt index 6a9aa26..8ba28ee 100644 --- a/src/main/kotlin/org/itxtech/mirainative/manager/EventManager.kt +++ b/src/main/kotlin/org/itxtech/mirainative/manager/EventManager.kt @@ -26,11 +26,13 @@ package org.itxtech.mirainative.manager import net.mamoe.mirai.contact.MemberPermission import net.mamoe.mirai.event.events.* -import net.mamoe.mirai.event.subscribeAlways +import net.mamoe.mirai.event.globalEventChannel import net.mamoe.mirai.message.data.source import net.mamoe.mirai.utils.MiraiExperimentalApi import org.itxtech.mirainative.Bridge import org.itxtech.mirainative.MiraiNative +import org.itxtech.mirainative.MiraiNative.launchEvent +import org.itxtech.mirainative.MiraiNative.setBotOnline import org.itxtech.mirainative.bridge.NativeBridge import org.itxtech.mirainative.message.ChainCodeConverter import org.itxtech.mirainative.message.ChainCodeConverter.escape @@ -38,7 +40,7 @@ import org.itxtech.mirainative.message.ChainCodeConverter.escape object EventManager { @OptIn(MiraiExperimentalApi::class) fun registerEvents() { - with(MiraiNative) { + with(MiraiNative.globalEventChannel()) { subscribeAlways { setBotOnline() } diff --git a/src/main/kotlin/org/itxtech/mirainative/message/ChainCodeConverter.kt b/src/main/kotlin/org/itxtech/mirainative/message/ChainCodeConverter.kt index a91e1a0..e51f3a8 100644 --- a/src/main/kotlin/org/itxtech/mirainative/message/ChainCodeConverter.kt +++ b/src/main/kotlin/org/itxtech/mirainative/message/ChainCodeConverter.kt @@ -30,9 +30,9 @@ import net.mamoe.mirai.contact.Contact import net.mamoe.mirai.contact.Group import net.mamoe.mirai.message.data.* import net.mamoe.mirai.message.data.PokeMessage.Key.ChuoYiChuo +import net.mamoe.mirai.utils.ExternalResource.Companion.toExternalResource +import net.mamoe.mirai.utils.ExternalResource.Companion.uploadAsImage import net.mamoe.mirai.utils.MiraiExperimentalApi -import net.mamoe.mirai.utils.toExternalImage -import net.mamoe.mirai.utils.upload import org.itxtech.mirainative.MiraiNative import org.itxtech.mirainative.manager.CacheManager import org.itxtech.mirainative.util.Music @@ -106,12 +106,12 @@ object ChainCodeConverter { } else { val file = MiraiNative.getDataFile("image", args["file"]!!) if (file != null) { - image = contact!!.uploadImage(file.toExternalImage()) + image = contact!!.uploadImage(file.toExternalResource()) } } } else if (args.containsKey("url")) { image = withContext(Dispatchers.IO) { - URL(args["url"]!!).openStream().toExternalImage().upload(contact!!) + URL(args["url"]!!).openStream().toExternalResource().uploadAsImage(contact!!) } } if (image != null) { @@ -180,13 +180,13 @@ object ChainCodeConverter { rec = CacheManager.getRecord(args["file"]!!) } else { MiraiNative.getDataFile("record", args["file"]!!)?.use { - rec = (contact!! as Group).uploadVoice(it) + rec = (contact!! as Group).uploadVoice(it.toExternalResource()) } } } else if (args.containsKey("url")) { withContext(Dispatchers.IO) { URL(args["url"]!!).openStream().use { - rec = (contact!! as Group).uploadVoice(it) + rec = (contact!! as Group).uploadVoice(it.toExternalResource()) } } } diff --git a/src/main/kotlin/org/itxtech/mirainative/util/Music.kt b/src/main/kotlin/org/itxtech/mirainative/util/Music.kt index cdd58c1..677c841 100644 --- a/src/main/kotlin/org/itxtech/mirainative/util/Music.kt +++ b/src/main/kotlin/org/itxtech/mirainative/util/Music.kt @@ -25,7 +25,7 @@ package org.itxtech.mirainative.util import io.ktor.client.* -import io.ktor.client.engine.cio.* +import io.ktor.client.engine.okhttp.* import io.ktor.client.request.* import io.ktor.util.* import kotlinx.serialization.json.* @@ -36,7 +36,7 @@ import org.itxtech.mirainative.message.xmlMessage @OptIn(KtorExperimentalAPI::class) abstract class MusicProvider { - val http = HttpClient(CIO) + val http = HttpClient(OkHttp) abstract suspend fun send(id: String): Message }