diff --git a/mirai-core/src/commonMain/kotlin/message/imagesImpl.kt b/mirai-core/src/commonMain/kotlin/message/imagesImpl.kt index 49409cee5..d385e1f41 100644 --- a/mirai-core/src/commonMain/kotlin/message/imagesImpl.kt +++ b/mirai-core/src/commonMain/kotlin/message/imagesImpl.kt @@ -36,7 +36,12 @@ internal class OnlineGroupImageImpl( override val imageId: String = generateImageId( delegate.picMd5, - delegate.filePath.substringAfterLast('.') + delegate.filePath.substringAfterLast('.').toLowerCase().let { ext -> + if (ext == "null") { + // official clients might send `null` + getImageType(delegate.imageType) + } else ext + } ).takeIf { IMAGE_ID_REGEX.matches(it) } ?: generateImageId(delegate.picMd5)