Image

interface Image : Message, MessageContent, CodableMessage

自定义表情 (收藏的表情) 和普通图片.

最推荐的存储方式是存储图片原文件, 每次发送图片时都使用文件上传. 在上传时服务器会根据其缓存情况回复已有的图片 ID 或要求客户端上传. 详见 Contact.uploadImage

根据 ID 构造图片

  • Image.fromId. 在 Kotlin, 更推荐使用顶层函数 val image = Image("id")

上传和发送图片

下载图片

mirai 码支持

格式: [mirai:image:Image.imageId]

See also

Types

AsStringSerializer
Link copied to clipboard
object AsStringSerializer : KSerializer<Image>
Builder
Link copied to clipboard
class Builder

Image 构建器.

FallbackSerializer
Link copied to clipboard
open class FallbackSerializer(serialName: String) : KSerializer<Image>
Key
Link copied to clipboard
object Key : AbstractMessageKey<Image>
Serializer
Link copied to clipboard
object Serializer : KSerializer<Image>

Functions

appendMiraiCodeTo
Link copied to clipboard
abstract fun appendMiraiCodeTo(builder: StringBuilder)
contentEquals
Link copied to clipboard
open fun contentEquals(another: String, ignoreCase: Boolean = false): Boolean

判断内容是否与 another 相等.

open fun contentEquals(another: Message, ignoreCase: Boolean = false): Boolean

判断内容是否与 another 相等即 thisanothercontentToString 相等.

open fun contentEquals(another: Message, ignoreCase: Boolean = false, strict: Boolean = false): Boolean

判断内容是否与 another 相等即 thisanothercontentToString 相等. stricttrue 时, 还会额外判断每个消息元素的类型, 顺序和属性. 如 Image 会判断 Image.imageId

contentToString
Link copied to clipboard
abstract fun contentToString(): String

转为最接近官方格式的字符串. 如 At(member) + "test" 将转为 "@群名片 test".

followedBy
Link copied to clipboard
open fun followedBy(tail: Message): MessageChain

thistail 连接.

plus
Link copied to clipboard
open operator fun plus(another: Array<out Message>): MessageChain

another 按顺序连接到这个消息的尾部.

open operator fun plus(another: CharSequence): MessageChain

another 作为 PlainText 连接到这个消息的尾部.

open operator fun plus(another: String): MessageChain

another 作为 PlainText 连接到这个消息的尾部.

open operator fun plus(another: Iterable<String>): MessageChain

another 按顺序连接到这个消息的尾部.

open operator fun plus(another: Iterable<Message>): MessageChain

another 按顺序连接到这个消息的尾部.

open operator fun plus(another: Sequence<Message>): MessageChain

another 按顺序连接到这个消息的尾部.

open operator fun plus(another: Message): MessageChain

another 按顺序连接到这个消息的尾部.

open operator fun plus(another: MessageChain): MessageChain

another 按顺序连接到这个消息的尾部.

open operator fun plus(another: SingleMessage): MessageChain

another 连接到这个消息的尾部.

serializeToMiraiCode
Link copied to clipboard
open fun serializeToMiraiCode(): String

转换为 mirai 码.

toString
Link copied to clipboard
abstract override fun toString(): String

得到包含 mirai 消息元素代码的, 易读的字符串. 如 At(member) + "test" 将转为 "[mirai:at:qqId]test".

Properties

height
Link copied to clipboard
abstract val height: Int

图片的高度 (px), 当无法获取时为 0

imageId
Link copied to clipboard
abstract val imageId: String

图片的 id.

imageType
Link copied to clipboard
abstract val imageType: ImageType

图片的类型, 当无法获取时为未知 ImageType.UNKNOWN

isEmoji
Link copied to clipboard
open val isEmoji: Boolean

判断该图片是否为 动画表情

md5
Link copied to clipboard
open val md5: ByteArray

图片文件 MD5. 可用于 isUploaded.

size
Link copied to clipboard
abstract val size: Long

图片的大小(字节), 当无法获取时为 0. 可用于 isUploaded.

width
Link copied to clipboard
abstract val width: Int

图片的宽度 (px), 当无法获取时为 0

Extensions

flash
Link copied to clipboard
inline fun Image.flash(): FlashImage

将普通图片转换为闪照.

isUploaded
Link copied to clipboard
suspend fun Image.isUploaded(bot: Bot): Boolean

当图片在服务器上存在时返回 true, 这意味着图片可以直接发送给 contact.

md5
Link copied to clipboard
val Image.md5: ByteArray
queryUrl
Link copied to clipboard
suspend fun Image.queryUrl(): String

查询原图下载链接.