project-mirai/mirai-api-http

是否支持Image类型消息的isEmoji()判断?

Natsukage opened this issue · 2 comments

Mirai本体对图片消息有IsEmoji方法,判断发出的图片是否为表情,并且会体现在Mirai码中。
[mirai:image:{05DC6B34-5134-0B20-0C46-4F6D6AA44C85}.jpg, width=1024, height=1024, size=122267, type=JPG, isEmoji=true]
MAH的文档中,Image类型似乎缺失了type与isEmoji这两项内容。
导致即使直接通过MAH复读原图片,发出的图片内容在console上也会显示为
[mirai:image:{05DC6B34-5134-0B20-0C46-4F6D6AA44C85}.jpg, width=1024, height=1024, size=0, type=UNKNOWN, isEmoji=false]
这样的图片
在PC端,这样会导致发出的图片大小和前面的表情尺寸明显不同。想问一下MAH现在是否已经支持isEmoji的参数呢?还是说不会考虑支持?

Bunnui commented

我看了mirai-api-http 中的图片DTO,里面是有这些属性的,应该是文档没有更新,具体情况我也不知道

internal interface ImageLikeDTO {
val imageId: String?
val url: String?
val path: String?
val base64: String?
val width: Int
val height: Int
val size: Long
val imageType: String
val isEmoji: Boolean
}

internal data class ImageDTO(
override val imageId: String? = null,
override val url: String? = null,
override val path: String? = null,
override val base64: String? = null,
override val width: Int = 0,
override val height: Int = 0,
override val size: Long = 0,
override val imageType: String = "UNKNOWN",
override val isEmoji: Boolean = false,
) : MessageDTO(), ImageLikeDTO
@Serializable
@SerialName("FlashImage")
internal data class FlashImageDTO(
override val imageId: String? = null,
override val url: String? = null,
override val path: String? = null,
override val base64: String? = null,
override val width: Int = 0,
override val height: Int = 0,
override val size: Long = 0,
override val imageType: String = "UNKNOWN",
override val isEmoji: Boolean = false,
) : MessageDTO(), ImageLikeDTO

ryoii commented

确实只是文档丢字段了