Skip to content

Commit e36ed53

Browse files
committed
fix: 修复无法获取消息引用的问题
1 parent 2475e44 commit e36ed53

File tree

2 files changed

+7
-9
lines changed
  • simbot-component-onebot-v11
    • simbot-component-onebot-v11-core/src/commonMain/kotlin/love/forte/simbot/component/onebot/v11/core/internal/message
    • simbot-component-onebot-v11-message/src/commonMain/kotlin/love/forte/simbot/component/onebot/v11/message

2 files changed

+7
-9
lines changed

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-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)