Skip to content

消息编码器 (MessageEncoder) 实验性

WARNING

这是一个实验性功能,未来可能发生改动。

标有 抽象 的方法需要由适配器插件自行实现。

使用方法

消息编码器通常不直接进行构造,而是以关联类型的形式绑定在 Bot 类的静态成员上,用于实现 bot.sendMessage() 等方法。

bot.ts
export class MyBot extends Bot {
  static MessageEncoder = MyMessageEncoder
}

实例方法

new MessageEncoder(bot, channelId)

  • bot: Bot 机器人实例
  • channelId: string 频道 ID

构造一个 MessageEncoder 实例。

encoder.flush() 抽象

  • 返回值: Promise<void>

向平台发送消息,清空缓冲区。

encoder.visit(element) 抽象

渲染某一个消息元素。如果其有子元素,可以使用 encoder.render(element) 进行递归遍历。

encoder.render(elements)

  • element: Element[] 消息元素
  • 返回值: Promise<void>

渲染一组元素。

encoder.send(content)

  • content: Fragment 消息元素
  • 返回值: Promise<Message[]>

解析并发送一段内容。返回发送的消息列表。