From 6482e5a5c79d3c8f684d3062d4ae1994db2ff59b Mon Sep 17 00:00:00 2001 From: zxin8580 <54021268+zxin8580@users.noreply.github.com> Date: Mon, 25 Apr 2022 19:40:41 +0800 Subject: [PATCH 1/3] fix getImage fix when get flash image --- src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt b/src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt index fe07127..a490dde 100644 --- a/src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt +++ b/src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt @@ -306,7 +306,7 @@ object MiraiBridge { fun getImage(pluginId: Int, image: String): String = call("CQ_getImage", pluginId, "", "Error occurred when plugin %0 downloading image $image") { return@call runBlocking { - val img = image.replace(".mnimg", "") + val img = image.replace(".mnimg,type=flash","").replace(".mnimg", "") // fix when get flash image val u = Image(img).queryUrl() if (u != "") { val response = client.get(u) From 2eb4457369092dfc240df09f1c1b549c21230aef Mon Sep 17 00:00:00 2001 From: zxin8580 <54021268+zxin8580@users.noreply.github.com> Date: Mon, 25 Apr 2022 19:41:52 +0800 Subject: [PATCH 2/3] Update ChainCodeConverter.kt fix typo in FlashImage --- .../org/itxtech/mirainative/message/ChainCodeConverter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/org/itxtech/mirainative/message/ChainCodeConverter.kt b/src/main/kotlin/org/itxtech/mirainative/message/ChainCodeConverter.kt index 15a055a..717f7e1 100644 --- a/src/main/kotlin/org/itxtech/mirainative/message/ChainCodeConverter.kt +++ b/src/main/kotlin/org/itxtech/mirainative/message/ChainCodeConverter.kt @@ -233,7 +233,7 @@ object ChainCodeConverter { } is Audio -> "[CQ:record,file=${it.filename}.mnrec]" is PokeMessage -> "[CQ:poke,id=${it.id},type=${it.pokeType},name=${it.name}]" - is FlashImage -> "[CQ:image,file=${it.image.imageId}.mning,type=flash]" + is FlashImage -> "[CQ:image,file=${it.image.imageId}.mnimg,type=flash]" is MarketFace -> "[CQ:bface,id=${it.id},name=${it.name}]" is Dice -> "[CQ:dice,type=${it.value}]" else -> ""//error("不支持的消息类型:${it::class.simpleName}") From ed9cf4ad8118a2f42a0d43adc4c36833cf10ef03 Mon Sep 17 00:00:00 2001 From: zxin8580 <54021268+zxin8580@users.noreply.github.com> Date: Mon, 25 Apr 2022 19:45:11 +0800 Subject: [PATCH 3/3] Update MiraiBridge.kt avoid queryProfile for every member to fix performance issue --- .../kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt b/src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt index a490dde..f970878 100644 --- a/src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt +++ b/src/main/kotlin/org/itxtech/mirainative/bridge/MiraiBridge.kt @@ -425,13 +425,13 @@ object MiraiBridge { } private suspend fun BytePacketBuilder.writeMember(member: NormalMember) { - val profile = member.queryProfile() + // val profile = member.queryProfile() writeLong(member.group.id) writeLong(member.id) writeString(member.nick) writeString(member.nameCard) - writeInt(profile.sex.ordinal) - writeInt(profile.age) + writeInt(0) // TODO: 性别 + writeInt(0) // TODO: 年龄 writeString("未知") // TODO: 地区 writeInt(member.joinTimestamp) writeInt(member.lastSpeakTimestamp)