diff --git a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/convension.kt b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/convension.kt index 6c552805a..05768a936 100644 --- a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/convension.kt +++ b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/convension.kt @@ -116,8 +116,10 @@ internal fun MessageChain.toRichTextElems(forGroup: Boolean, withGeneralFlags: B is OnlineGroupImageImpl -> elements.add(ImMsgBody.Elem(customFace = it.delegate)) is OnlineFriendImageImpl -> elements.add(ImMsgBody.Elem(notOnlineImage = it.delegate)) is OfflineFriendImage -> elements.add(ImMsgBody.Elem(notOnlineImage = it.toJceData())) - is GroupFlashImageImpl -> elements.add(it.toJceData()).also { transformOneMessage(UNSUPPORTED_FLASH_MESSAGE_PLAIN) } - is FriendFlashImageImpl -> elements.add(it.toJceData()).also { transformOneMessage(UNSUPPORTED_FLASH_MESSAGE_PLAIN) } + is GroupFlashImage -> elements.add(it.toJceData()) + .also { transformOneMessage(UNSUPPORTED_FLASH_MESSAGE_PLAIN) } + is FriendFlashImage -> elements.add(it.toJceData()) + .also { transformOneMessage(UNSUPPORTED_FLASH_MESSAGE_PLAIN) } is AtAll -> elements.add(atAllData) is Face -> elements.add(ImMsgBody.Elem(face = it.toJceData())) is QuoteReplyToSend -> { @@ -303,10 +305,10 @@ internal fun List.joinToMessageChain(message: MessageChainBuilde 3 -> { val proto = it.commonElem.pbElem.loadAs(HummerCommelem.MsgElemInfoServtype3.serializer()) if (proto.flashTroopPic != null) { - message.add(GroupFlashImageImpl(OnlineGroupImageImpl(proto.flashTroopPic))) + message.add(GroupFlashImage(OnlineGroupImageImpl(proto.flashTroopPic))) } if (proto.flashC2cPic != null) { - message.add(FriendFlashImageImpl(OnlineFriendImageImpl(proto.flashC2cPic))) + message.add(FriendFlashImage(OnlineFriendImageImpl(proto.flashC2cPic))) } } } diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/FlashImage.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/FlashImage.kt index b0cc06eb7..d18c82d6e 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/FlashImage.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/FlashImage.kt @@ -2,6 +2,7 @@ package net.mamoe.mirai.message.data +import net.mamoe.mirai.utils.MiraiInternalAPI import net.mamoe.mirai.utils.SinceMirai import kotlin.jvm.JvmSynthetic @@ -14,6 +15,7 @@ import kotlin.jvm.JvmSynthetic sealed class FlashImage : MessageContent { companion object Key : Message.Key { operator fun invoke(image: Image): FlashImage { + @OptIn(MiraiInternalAPI::class) return when (image) { is GroupImage -> GroupFlashImage(image) is FriendImage -> FriendFlashImage(image) @@ -51,6 +53,12 @@ inline fun GroupImage.flash(): GroupFlashImage = FlashImage(this) as GroupFlashI @JvmSynthetic inline fun FriendImage.flash(): FriendFlashImage = FlashImage(this) as FriendFlashImage -class GroupFlashImage internal constructor(override val image: GroupImage) : FlashImage() +/** + * @see FlashImage.invoke + */ +class GroupFlashImage @MiraiInternalAPI constructor(override val image: GroupImage) : FlashImage() -class FriendFlashImage internal constructor(override val image: FriendImage) : FlashImage() \ No newline at end of file +/** + * @see FlashImage.invoke + */ +class FriendFlashImage @MiraiInternalAPI constructor(override val image: FriendImage) : FlashImage() \ No newline at end of file