diff --git a/mirai-core/src/commonMain/kotlin/MiraiImpl.kt b/mirai-core/src/commonMain/kotlin/MiraiImpl.kt index a225f5be4..9ee4957e6 100644 --- a/mirai-core/src/commonMain/kotlin/MiraiImpl.kt +++ b/mirai-core/src/commonMain/kotlin/MiraiImpl.kt @@ -885,13 +885,21 @@ internal open class MiraiImpl : IMirai, LowLevelApiAccessor { ) override suspend fun downloadLongMessage(bot: Bot, resourceId: String): MessageChain { - return downloadMultiMsgTransmit(bot, resourceId, ResourceKind.LONG_MESSAGE).msg - .toMessageChainNoSource(bot, 0, MessageSourceKind.GROUP) - .refineDeep(bot) + try { + return downloadMultiMsgTransmit(bot, resourceId, ResourceKind.LONG_MESSAGE).msg + .toMessageChainNoSource(bot, 0, MessageSourceKind.GROUP) + .refineDeep(bot) + } catch (error: Throwable) { + throw IllegalStateException("Failed to download long message `$resourceId`", error) + } } override suspend fun downloadForwardMessage(bot: Bot, resourceId: String): List<ForwardMessage.Node> { - return downloadMultiMsgTransmit(bot, resourceId, ResourceKind.FORWARD_MESSAGE).toForwardMessageNodes(bot) + try { + return downloadMultiMsgTransmit(bot, resourceId, ResourceKind.FORWARD_MESSAGE).toForwardMessageNodes(bot) + } catch (error: Throwable) { + throw IllegalStateException("Failed to download forward message `$resourceId`", error) + } } internal open suspend fun MsgTransmit.PbMultiMsgNew.toForwardMessageNodes(