Image
自定义表情 (收藏的表情) 和普通图片.
最推荐的存储方式是存储图片原文件, 每次发送图片时都使用文件上传. 在上传时服务器会根据其缓存情况回复已有的图片 ID 或要求客户端上传.
获取 Image 实例
根据 ID 构造图片
ID 格式查看 Image.imageId. 通过 ID 构造的图片若未存在于服务器中, 发送后在客户端将不能正常显示. 可通过 Image.isUploaded 检查图片是否存在于服务器. Image.isUploaded 需要除了 ID 以外其他参数, 如 width, size 等, 因此不建议通过 ID 构造图片, 而是使用 Builder 构建, 以提供详细参数.
使用 Image.fromId. 在 Kotlin, 也可以使用顶层函数 val image = Image("id")
.
在 Kotlin 通过 ID 构造图片
// 根据喜好选择
val image = Image.fromId("id")
val image2 = Image("id")
在 Java 通过 ID 构造图片
Image image = Image.fromId("id")
使用 Builder 构建图片
Image 提供 Builder 构建方式, 可以指定 width, height 等额外参数. 请尽可能提供这些参数以提升图片发送的成功率和 Image.isUploaded 的准确性.
上传图片资源获得 Image
使用 Contact.uploadImage, 将 ExternalResource 上传得到 Image.
也可以使用 ExternalResource.uploadAsImage 扩展.
发送图片消息
在获取实例后, 将图片元素连接到消息链即可发送. 图片可以与纯文本等其他 MessageContent 混合使用 (在同一消息链中).
下载图片
通过事件等方式获取到 Image 实例后, 使用 Image.queryUrl 查询得到图片的下载地址, 自行使用 HTTP 客户端下载.
其他查询
查询图片是否已存在于服务器
使用 Image.isUploaded. 当图片在服务器上存在时返回 true
, 这意味着图片可以直接发送.
服务器通过 Image.md5 鉴别图片. 当图片已经存在于服务器时, Contact.uploadImage 会更快返回 (仍然需要进行网络请求), 不会上传图片数据.
检测图片 ID 合法性
mirai 码支持
格式: [mirai:image:Image.imageId]
See also
转换普通图片为闪照
Types
Functions
判断内容是否与 another 相等.
判断内容是否与 another 相等即 this
与 another 的 contentToString 相等.
判断内容是否与 another 相等即 this
与 another 的 contentToString 相等.
转为接近官方格式的字符串, 即 "内容". 如 At(member) + "test"
将转为 "@QQ test"
.
将普通图片转换为闪照.
将 this
和 tail 连接.
当消息内容为空白时返回 true
.
当消息内容为空时返回 true
.
当图片在服务器上存在时返回 true
, 这意味着图片可以直接发送给 contact.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
转换为 mirai 码.
转换得到 mirai 码.
转换为 ForwardMessage
Properties
图片的类型, 当无法获取时为未知 ImageType.UNKNOWN
图片文件 MD5. 可用于 isUploaded.
图片的大小(字节), 当无法获取时为 0. 可用于 isUploaded.