跳转到内容
搜索文档

Chat

最后更新 查看 MarkdownAgent 设置

本指南介绍如何使用 Cloudflare RealtimeKit 在会议中发送和接收聊天消息。

介绍

消息类型

发送聊天消息

发送文本消息

发送图片

发送文件

发送任何类型的消息

接收聊天消息

编辑聊天消息

编辑文本消息

编辑图片

编辑文件

编辑任何类型的消息

其他聊天功能

获取特定用户的消息

获取特定类型的消息

置顶聊天消息

删除聊天消息

导出聊天消息

您可以通过以下方式以编程方式检索 RealtimeKit 会话的所有聊天消息:

  • 使用 Chat Replay API
  • meeting.chatSynced 事件设置 Webhook

获取聊天下载 URL

要获取聊天下载 URL,请向 Chat Replay API 端点 发起 HTTP GET 请求。该 API 返回:

{
	"success": true,
	"data": {
		"chat_download_url": "string",
		"chat_download_url_expiry": "string"
	}
}
  • chat_download_url - 允许您从 AWS S3 下载 CSV 格式的会话完整聊天转储的 URL
  • chat_download_url_expiry - chat_download_url 的过期时间戳。如果该 URL 过期,请再次调用此端点以获取新的下载 URL

有关 Chat Replay API 端点的详细信息,请参阅 Realtime Kit API 文档

下载聊天转储文件

您可以通过向在上一步中获取的 chat_download_url 发起 HTTP GET 请求,来下载 CSV 格式的聊天转储文件。

从 HTTP URL 下载文件的过程因您是在客户端还是在服务端下载而有所不同。

在客户端下载

要在客户端下载:

  1. chat_download_url 发起 GET 请求
  2. 将响应转换为 Blob
  3. 创建一个带有 download 属性的隐式 <a> HTML元素,并将 Blob 添加到其 href
  4. 以编程方式点击 <a> 元素,以便浏览器自动开始下载,然后移除该 <a> 元素

在服务器端下载

要在服务器端使用 Node.js 流进行下载:

  1. 为本地文件创建可写流
  2. chat_download_url 发起 GET 请求
  3. 使用 res.body 获取可读流,并将其管道传输到第一步中创建的可写流

CSV 聊天转储格式

CSV 文件包含所有聊天消息以及参与者信息和元数据。它包含以下列标题:

  • id - 唯一的聊天消息 ID
  • participantId - 发送消息的参与者的 ID
  • sessionId - 发送聊天消息的会话 ID
  • meetingId - 此会话所属会议的 ID
  • displayName - 发送此消息的参与者的显示名称
  • pinned - 指示当前消息是否被置顶的布尔值
  • isEdited - 指示当前消息是否被编辑的布尔值
  • payloadType - 一个指示聊天消息中发送的有效负载类型的枚举(ENUM)。它可以是 TEXT_MESSAGEIMAGE_MESSAGEFILE_MESSAGE 之一
  • payload - 聊天消息中发送的实际有效负载
  • createdAt - 发送此聊天消息的时间戳

这篇文档对您有帮助吗?