Skip to content

Commit 4b14aa6

Browse files
authored
Merge pull request #103 from simple-robot/dev/fix-#102
修复无法获取到消息内容中的引用元素的问题
2 parents 2475e44 + d03a8e7 commit 4b14aa6

File tree

6 files changed

+7
-22
lines changed

6 files changed

+7
-22
lines changed

simbot-component-onebot-common/build.gradle.kts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@
1616
*/
1717

1818
import love.forte.gradle.common.core.project.setup
19-
import love.forte.gradle.common.kotlin.multiplatform.applyTier1
2019
import love.forte.gradle.common.kotlin.multiplatform.applyTier123
21-
import love.forte.gradle.common.kotlin.multiplatform.applyTier2
22-
import love.forte.gradle.common.kotlin.multiplatform.applyTier3
2320
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
2421

2522
plugins {
@@ -64,7 +61,6 @@ kotlin {
6461

6562
jvmMain {
6663
dependencies {
67-
compileOnly(libs.simbot.common.annotations)
6864
}
6965
}
7066

simbot-component-onebot-v11/simbot-component-onebot-v11-core/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ kotlin {
8888

8989
jvmMain {
9090
dependencies {
91-
compileOnly(libs.simbot.common.annotations)
9291
compileOnly(libs.ktor.client.contentNegotiation)
9392
}
9493
}

simbot-component-onebot-v11/simbot-component-onebot-v11-core/src/commonMain/kotlin/love/forte/simbot/component/onebot/v11/core/internal/message/OneBotMessageContentImpl.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,10 @@ import love.forte.simbot.ability.DeleteOption
2121
import love.forte.simbot.ability.StandardDeleteOption
2222
import love.forte.simbot.common.id.ID
2323
import love.forte.simbot.component.onebot.v11.core.api.DeleteMsgApi
24-
import love.forte.simbot.component.onebot.v11.core.api.GetMsgApi
2524
import love.forte.simbot.component.onebot.v11.core.bot.internal.OneBotBotImpl
2625
import love.forte.simbot.component.onebot.v11.message.OneBotMessageContent
2726
import love.forte.simbot.component.onebot.v11.message.resolveToMessageElement
2827
import love.forte.simbot.component.onebot.v11.message.segment.OneBotMessageSegment
29-
import love.forte.simbot.component.onebot.v11.message.segment.OneBotReply
3028
import love.forte.simbot.component.onebot.v11.message.segment.OneBotText
3129
import love.forte.simbot.message.Messages
3230
import love.forte.simbot.message.toMessages
@@ -59,8 +57,7 @@ internal class OneBotMessageContentImpl(
5957
}
6058

6159
override suspend fun referenceMessage(): OneBotMessageContent? {
62-
val ref = messages.firstNotNullOfOrNull { it as? OneBotReply }
63-
?: return null
60+
val ref = reference() ?: return null
6461

6562
return bot.getMessageContent(ref.id)
6663
}

simbot-component-onebot-v11/simbot-component-onebot-v11-event/build.gradle.kts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@
1717

1818
import com.google.devtools.ksp.gradle.KspTaskMetadata
1919
import love.forte.gradle.common.core.project.setup
20-
import love.forte.gradle.common.kotlin.multiplatform.applyTier1
2120
import love.forte.gradle.common.kotlin.multiplatform.applyTier123
22-
import love.forte.gradle.common.kotlin.multiplatform.applyTier2
23-
import love.forte.gradle.common.kotlin.multiplatform.applyTier3
2421
import org.jetbrains.dokka.gradle.DokkaTaskPartial
2522
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
2623

@@ -77,7 +74,6 @@ kotlin {
7774

7875
jvmMain {
7976
dependencies {
80-
compileOnly(libs.simbot.common.annotations)
8177
}
8278
}
8379

simbot-component-onebot-v11/simbot-component-onebot-v11-message/build.gradle.kts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@
1717

1818
import com.google.devtools.ksp.gradle.KspTaskMetadata
1919
import love.forte.gradle.common.core.project.setup
20-
import love.forte.gradle.common.kotlin.multiplatform.applyTier1
2120
import love.forte.gradle.common.kotlin.multiplatform.applyTier123
22-
import love.forte.gradle.common.kotlin.multiplatform.applyTier2
23-
import love.forte.gradle.common.kotlin.multiplatform.applyTier3
2421
import org.jetbrains.dokka.gradle.DokkaTaskPartial
2522
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
2623

@@ -75,7 +72,6 @@ kotlin {
7572

7673
jvmMain {
7774
dependencies {
78-
compileOnly(libs.simbot.common.annotations)
7975
}
8076
}
8177

simbot-component-onebot-v11/simbot-component-onebot-v11-message/src/commonMain/kotlin/love/forte/simbot/component/onebot/v11/message/OneBotMessageContent.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,7 @@ package love.forte.simbot.component.onebot.v11.message
2020
import love.forte.simbot.ability.DeleteOption
2121
import love.forte.simbot.ability.StandardDeleteOption
2222
import love.forte.simbot.common.id.ID
23-
import love.forte.simbot.component.onebot.v11.message.segment.OneBotMessageSegment
24-
import love.forte.simbot.component.onebot.v11.message.segment.OneBotMessageSegmentElement
25-
import love.forte.simbot.component.onebot.v11.message.segment.OneBotReply
26-
import love.forte.simbot.component.onebot.v11.message.segment.OneBotText
23+
import love.forte.simbot.component.onebot.v11.message.segment.*
2724
import love.forte.simbot.message.MessageContent
2825
import love.forte.simbot.message.Messages
2926
import love.forte.simbot.message.PlainText
@@ -69,7 +66,11 @@ public interface OneBotMessageContent : MessageContent {
6966
*/
7067
@STP
7168
override suspend fun reference(): OneBotReply? =
72-
messages.firstNotNullOfOrNull { it as? OneBotReply }
69+
messages
70+
.filterIsInstance<OneBotMessageElement>()
71+
.firstNotNullOfOrNull {
72+
it.oneBotSegmentOrNull<OneBotReply>()
73+
}
7374

7475
/**
7576
* 根据 [消息引用][reference] 信息通过API查询对应引用的消息内容。

0 commit comments

Comments
 (0)