消息元素
公告
站点迁移啦~!
为什么迁移?
作为由我们官方维护的组件库,分散在各自的文档站点中的确有好处:它们可以各自维护自己所需的东西、互不干扰。
但是缺点也很明显: 太过分散。
组件库与核心库之间的关系是比较紧密的, 我们希望你能够在一个站点内就可以查阅或搜索到所有你想要得知的信息。
本章节介绍 KOOK 组件中针对 simbot 标准库中 消息元素(Message.Element) 的实现类型。
Message.Element
先简单介绍一下 Message.Element 。它是 simbot 标准库中提供一个接口类型, 用来定义一个消息元素 。一个消息元素或多个消息元素组成的消息链可用于发送消息。
simbot 标准库提供了一些常见的标准消息元素实现,例如 At、 Image 等。 但是很多情况下,对于一个组件而言这些标准实现可能不能满足需求,这时候就需要组件实现这个接口, 来提供更多期望的功能。
标准消息元素支持
- PlainText
- 最基础的消息元素类型。支持使用文本消息元素, 例如 - Text。
- At
- 提及一个用户、提及一个角色或提及一个子频道。 提及目标根据 - At.type决定:- user(默认) 或其他未知: 提及一个用户
- role: 提及一个角色
- channel: 提及一个子频道
 
- AtAll
- 提及所有人。即 - @全体。
- Image
- 支持使用: - OfflineImage: 上传一个本地离线文件作为图片并用于发送。
- RemoteImage: 如果是- RemoteUrlAwareImage,则使用它的- url,否则将它的- id视为- url字符串。
 
- Face
- 会作为 KMarkdown 中的 “服务器表情” 使用。 
- Emoji
- 会作为 KMarkdown 中的 “emoji” 使用。 - Emoji.id会被处理为:- :Emoji.id:
KOOK 组件消息元素实现
KOOK 组件进行特殊实现的 Message.Element 均继承自 love.forte.simbot.component.kook.message.KookMessageElement。
- KookAssetMessage
- KookKMarkdownMessage
- KookCardMessage
- KookAtAllHere
- KookAttachmentMessage
- KookAttachmentMessage
- KookAttachment
- KookAttachmentFile
- KookAttachmentImage
- KookAttachmentVideo
 
- KookAssetImage