Bot Connector API を使用してメッセージを作成する
ボットは、message 型の Activity オブジェクトを送信してユーザーに情報を伝達し、同様にユーザーからのメッセージ アクティビティも受信します。 プレーン テキストだけで構成されているシンプルなメッセージもあれば、読み上げテキスト、推奨されるアクション、メディアの添付ファイル、リッチ カード、チャネル固有のデータなど、よりリッチなコンテンツを含むメッセージもあります。 この記事では、一般的に使用されるメッセージ プロパティの一部について説明します。
メッセージ テキストと書式設定
メッセージ テキストは plain、markdown、または xml を使用して書式設定できます。
textFormat
プロパティの既定の書式設定は markdown で、Markdown 書式設定標準を使用してテキストを解釈します。 テキスト書式のサポートのレベルは、チャネルによって異なります。
ヒント
各チャネルでサポートされている機能の詳細については、 チャネルのリファレンス 記事を参照してください。
Activity オブジェクトの textFormat
プロパティを使用して、テキストの書式を指定することができます。 たとえば、プレーン テキストのみを含む基本的なメッセージを作成するには、Activity
オブジェクトの textFormat
プロパティを plain に設定し、text
プロパティをメッセージの内容に設定し、locale
プロパティを送信者のロケールに設定します。
[Attachments]
Activity オブジェクトの attachments
プロパティは、単純なメディア添付ファイル (画像、オーディオ、ビデオ、ファイル) やリッチ カードの送信に使用できます。 詳細については、「メッセージへのメディア添付ファイルの追加」および「メッセージへのリッチ カードの追加」を参照してください。
エンティティ
Activity オブジェクトの entities
プロパティは、拡張可能な schema.org オブジェクトの配列であり、チャネルとボットの間で共通のコンテキスト メタデータを交換するために使用します。
メンション エンティティ
多くのチャネルは、ボットまたはユーザーが会話のコンテキスト内で誰かを "メンション" する能力をサポートしています。 メッセージでユーザーをメンションするには、メッセージの entities
プロパティに Mention オブジェクトを設定します。
場所エンティティ
メッセージ内の場所に関連する情報を伝達するには、メッセージの entities
プロパティに Place オブジェクトを 設定 します。
チャネル データ
Activity オブジェクトの channelData
プロパティは、チャネル固有の機能を実装するために使用できます。 詳細については、「チャネル固有の機能の実装」を参照してください。
テキストを音声に変換する
Activity オブジェクトの speak
プロパティを使用して、音声に対応したチャネルでボットが話すテキストを指定できます。また、Activity
オブジェクトの inputHint
プロパティを使用して、クライアントのマイクの状態に影響を与えることができます。 詳細については、「メッセージへの音声の追加」および「メッセージへの入力ヒントの追加」を参照してください。
推奨されるアクション
Activity オブジェクトの suggestedActions
プロパティは、ユーザーが入力を提供するためにタップできるボタンを表示するために使用できます。 (タップされた後でも表示されたままとなり、ユーザーがアクセスできる) リッチ カード内に表示されるボタンとは異なり、推奨される操作ウィンドウ内に表示されるボタンは、ユーザーが選択を行った後は表示されなくなります。 詳細については、「メッセージへの推奨されるアクションの追加」を参照してください。