Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

チャット

最終更新 Markdown で表示Agent セットアップ

このガイドでは、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_urlGET リクエストを送ります
  2. レスポンスを blob に変換します
  3. download 属性付きの非表示の <a> HTML 要素を作り、href に blob を設定します
  4. <a> 要素をクリックしてブラウザにダウンロードを開始させ、その後 <a> 要素を削除します

サーバーでダウンロードする

サーバーで Node.js のストリームを使ってダウンロードするには、次の手順です。

  1. ローカルファイル向けの writable stream を作成します
  2. chat_download_urlGET リクエストを送ります
  3. res.body で readable stream を取得し、最初の手順で作った writable stream に pipe します

CSV チャットダンプの形式

CSV ファイルには、すべてのチャットメッセージと、参加者情報およびメタデータが含まれます。列見出しは次のとおりです。

  • id - チャットメッセージの一意な ID です
  • participantId - メッセージを送信した参加者の ID です
  • sessionId - チャットメッセージが送信されたセッション ID です
  • meetingId - このセッションが属するミーティングの ID です
  • displayName - このメッセージを送信した参加者の表示名です
  • pinned - 現在のメッセージがピン留めされているかを示す boolean です
  • isEdited - 現在のメッセージが編集されているかを示す boolean です
  • payloadType - チャットメッセージで送られたペイロードの種類を示す ENUM です。値は TEXT_MESSAGEIMAGE_MESSAGEFILE_MESSAGE のいずれかです
  • payload - チャットメッセージで送られた実際のペイロードです
  • createdAt - このチャットメッセージが送信されたタイムスタンプです

役に立ちましたか?