Bot Connector API を使用してメッセージを作成する

ボットは、message 型の Activity オブジェクトを送信してユーザーに情報を伝達し、同様にユーザーからのメッセージ アクティビティも受信します。 プレーン テキストだけで構成されているシンプルなメッセージもあれば、読み上げテキスト推奨されるアクションメディアの添付ファイルリッチ カードチャネル固有のデータなど、よりリッチなコンテンツを含むメッセージもあります。 この記事では、一般的に使用されるメッセージ プロパティの一部について説明します。

メッセージ テキストと書式設定

メッセージ テキストは plainmarkdown、または 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 プロパティは、ユーザーが入力を提供するためにタップできるボタンを表示するために使用できます。 (タップされた後でも表示されたままとなり、ユーザーがアクセスできる) リッチ カード内に表示されるボタンとは異なり、推奨される操作ウィンドウ内に表示されるボタンは、ユーザーが選択を行った後は表示されなくなります。 詳細については、「メッセージへの推奨されるアクションの追加」を参照してください。

その他のリソース