Bot Framework を使用してメッセージ拡張機能を構築する
Bot Framework (ボット ベース) を使用して構築されたメッセージ拡張機能は、ボットとして Web サービスを使用します。 メッセージ拡張機能を使用すると、ユーザーが Teams クライアント内のさまざまな場所 (メッセージの作成領域、コマンド ボックスなど) から Web サービスを操作したり、メッセージから直接やり取りしたり、カードなどの構造化データを送信したりできます。
ボットベースのメッセージ拡張機能は、Bot Framework のメッセージング スキーマとセキュリティで保護された通信プロトコルを利用します。 ボットは Teams アプリのアプリ マニフェストで定義され、アクション コマンドや検索コマンドなど、メッセージ拡張機能のさまざまな種類のコマンドを定義することもできます。
メッセージ拡張機能のコマンドには、操作コマンドと検索コマンドの 2 種類があります。 メッセージ拡張機能のコマンドの種類は、Web サービスで利用可能な UI 要素と操作フローを定義します。 検索コマンドまたはアクション コマンドを使用して、Teams のボットを介して Web サービスと対話できます。
メッセージ拡張検索コマンドを使用すると、ユーザーは外部システムを検索し、その検索の結果をカードの形式でメッセージに挿入できます。 このドキュメントでは、検索コマンドの呼び出し場所を選択し、検索コマンドをアプリ マニフェストに追加する方法について説明します。
注:
結果カードサイズ制限は 28 KB です。 サイズが 28 KB を超える場合、カードは送信されません。
メッセージ拡張機能の検索コマンドを定義する方法については、次のビデオを参照してください。
メッセージ拡張機能の検索コマンドは、 composeExtensions.commands
プロパティと、アプリ マニフェスト (以前は Teams アプリ マニフェストと呼ばれる) の query
型を使用して構成されます。 コマンドとパラメーターの説明は、メッセージ拡張の使いやすさと有効性を高めます。 適切なコマンドの説明は、アプリの機能の明確で簡潔な概要を提供します。
次のコードは、検索コマンドを定義する composeExtensions
プロパティの例です。
{
"composeExtensions": [
{
"botId": "eccdf132-0900-4d36-936b-dec5e6357f11",
"commands": [
{
"id": "Dev",
"type": "query",
"title": "Jedi",
"description": "May the force be with you",
"initialRun": true,
"fetchTask": false,
"context": [
"commandBox",
"compose",
"message"
],
"parameters": [
{
"name": "Luke",
"title": "Skywalker",
"description": "Jedi master",
"inputType": "text"
}
]
}
],
"canUpdateConfiguration": true
}
],
パラメーター
オブジェクトの composeExtensions.commands
配列に次のパラメーターを追加する必要があります。
プロパティ名 | 用途 | 必須 | マニフェストのバージョン |
---|---|---|---|
id |
検索コマンドに割り当てる一意の ID。 ユーザー要求には、この ID が含まれています。 | はい | 1.0 |
title |
コマンド名。 この値は、ユーザー インターフェイス (UI) に表示されます。 | はい | 1.0 |
description |
このコマンドの動作を示すヘルプ テキスト。 この値は UI に表示されます。 | はい | 1.0 |
semanticDescription |
大規模言語モデル (LLM) による使用のためのコマンドのセマンティック記述。 | いいえ | 1.17 |
type |
コマンドの種類。 既定値は query です。 |
いいえ | 1.4 |
initialRun |
このプロパティが true に設定されている場合は、ユーザーが UI でこのコマンドを選択するとすぐにこのコマンドを実行する必要があることを示します。 | いいえ | 1.0 |
context |
検索アクションが使用できるコンテキストを定義する値の省略可能な配列。 使用可能な値: message 、compose 、commandBox 。 既定値は compose ,commandBox です。 |
いいえ | 1.5 |
Teams クライアントでユーザーに表示されるテキストを定義する次の検索パラメーターの詳細を追加する必要があります。
プロパティ名 | 用途 | は必須ですか? | マニフェストの最小バージョン |
---|---|---|---|
parameters |
コマンドのパラメーターの静的リストを定義します。 | いいえ | 1.0 |
parameter.name |
パラメーターの名前を記述します。
parameter.name は、ユーザー要求でサービスに送信されます。 |
はい | 1.0 |
parameter.description |
パラメーターの目的または指定する必要がある値の例について説明します。 この値は UI に表示されます。 | はい | 1.0 |
parameter.semanticDescription |
大規模言語モデル (LLM) による使用のためのパラメーターのセマンティック記述。 | いいえ | 1.17 |
parameter.title |
短い使いやすいパラメーター のタイトルまたはラベル。 | はい | 1.0 |
parameter.inputType |
必要な入力の種類に設定します。 使用できる値には、 text 、 textarea 、 number 、 date 、 time 、 toggle などがあります。 既定値は text に設定されます。 |
いいえ | 1.4 |
parameters.value |
パラメーターの初期値。 値はサポートされていません | いいえ | 1.5 |
詳細については、「 アプリ マニフェスト スキーマ」を参照してください。
次の手順
関連項目
Platform Docs