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"
将转为 "@群名片 test"
.
将 this
和 tail 连接.
创建一个消息链, 将 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 码.