消息元素
本章节介绍 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
- KookQuote
通过
MessageContent.reference()查询得到的消息引用信息。
20 September 2025