メッセージ拡張機能の検索コマンドを定義する

検索コマンドは、次のいずれかの場所または両方から呼び出されます。

  • メッセージ作成領域: 作成メッセージ領域の下部にあるボタン。
  • コマンド ボックス: コマンド ボックスで/ を使用します。 たとえば、 /your-app-name です。 従来の Teams を使用している場合は、コマンド ボックスで検索コマンドが呼 @mentioning び出されます。 たとえば、 @your-app-name です

新規作成メッセージ領域から検索コマンドが呼び出されると、ユーザーは結果を会話に送信します。 コマンド ボックスから検索コマンドが呼び出されると、ユーザーは結果のカードと対話するか、別の場所で使用するためにコピーします。

次の図は、検索コマンドの呼び出し場所を示しています。

Teams チャネルの検索コマンドの呼び出し場所を示すスクリーンショット。

アプリ マニフェストに検索コマンドを追加する

検索コマンドをアプリ マニフェスト (以前は Teams アプリ マニフェスト ) に追加するには、アプリ マニフェスト JSON の最上位に新しい composeExtensions オブジェクトを追加する必要があります。 検索コマンドは、開発者ポータルの助けを借りて追加することも、手動で追加することもできます。

Bot Framework を使用して検索メッセージ拡張機能を作成する

Teams Toolkit と Teams 用開発者ポータルを使用して、検索メッセージ拡張機能を作成できます。

前提条件

作業を開始する前に、次の要件を満たしていることを確認してください。

Teams Toolkit を使用して検索ベースのメッセージ拡張機能を作成するには、次の手順に従います。

  1. Visual Studio Code を開きます。

  2. 左側のウィンドウで、[ Teams ツールキット] を選択します。

  3. [ 新しいアプリの作成] を選択します

  4. [ メッセージ拡張機能] を選択します

  5. [ カスタム検索結果] を選択します

  6. プログラミング言語を選択します。

  7. [ 既定のフォルダー] を選択します

  8. アプリの名前を入力し、[Enter] を選択 します

    Teams Toolkit によってプロジェクトがスキャフォールディングされ、検索メッセージ拡張機能が作成されます。

Teams でメッセージ拡張機能を実行するには、次の手順に従います。

  1. 左側のウィンドウで、[ Teams ツールキット] を選択します。

  2. [アカウント] で、Microsoft 365 アカウントと Azure アカウントでサインインします (まだサインインしていない場合)。

    Teams Toolkit の Microsoft 365 と Azure のサインイン オプションを示すスクリーンショット。

  3. 左側のウィンドウで、[ 実行とデバッグ] (Ctrl + Shift + D) を選択します。

  4. 起動構成ドロップダウンから、 または を選択 Preview in Teams (Edge) します Preview in Teams (Chrome)。 Teams Toolkit は、ブラウザー ウィンドウで Teams Web クライアントを起動します。

  5. チャット メッセージに移動し、[ アクションとアプリ ] アイコンを選択します。 ポップアップ メニューで、アプリを検索します。

  6. 一覧からメッセージ拡張機能を選択し、検索ボックスに検索コマンドを入力します。

  7. 一覧から項目を選択します。 アイテムは、メッセージ作成領域のアダプティブ カードに展開されます。

  8. [送信] を選びます。 Teams は、チャット メッセージのアダプティブ カードとして検索結果を送信します。

ボットベースのメッセージ拡張機能をプラグインとして拡張する

重要

Microsoft Copilot for Microsoft 365のプラグインはプレビュー段階にあり、Teams のMicrosoft 365 Chatでのみ機能します。

Microsoft 365 プラグインは、Teams や Outlook など、さまざまな Microsoft 365 製品との統合を提供します。 統合により、ユーザーは外部システムでコンテンツを検索または作成できます。 メッセージ拡張プラグインを使用すると、Microsoft Copilot for Microsoft 365はボットを介して他のソフトウェアやサービスの API と対話できます。 既存のメッセージ拡張機能をビルドまたはアップグレードして、Copilot for Microsoft 365での有用性と使いやすさを最大化することをお勧めします。 詳細については、「Copilot for Microsoft 365のプラグインとしてボット ベースのメッセージ拡張機能を拡張する」を参照してください。

コード スニペット

次のコードは、メッセージ拡張機能の検索ベースの例を示しています。

protected override async Task<MessagingExtensionResponse> OnTeamsMessagingExtensionQueryAsync(ITurnContext<IInvokeActivity> turnContext, MessagingExtensionQuery query, CancellationToken cancellationToken)
        {
            var text = query?.Parameters?[0]?.Value as string ?? string.Empty;

            var packages = new[] {
            new { title = "A very extensive set of extension methods", value = "FluentAssertions" },
            new { title = "Fluent UI Library", value = "FluentUI" }};

            // We take every row of the results and wrap them in cards wrapped in MessagingExtensionAttachment objects.
            // The Preview is optional, if it includes a Tap, that will trigger the OnTeamsMessagingExtensionSelectItemAsync event back on this bot.
            var attachments = packages.Select(package =>
            {
                var previewCard = new ThumbnailCard { Title = package.title, Tap = new CardAction { Type = "invoke", Value = package } };
                if (!string.IsNullOrEmpty(package.title))
                {
                    previewCard.Images = new List<CardImage>() { new CardImage(package.title, "Icon") };
                }

                var attachment = new MessagingExtensionAttachment
                {
                    ContentType = HeroCard.ContentType,
                    Content = new HeroCard { Title = package.title },
                    Preview = previewCard.ToAttachment()
                };

                return attachment;
            }).ToList();

            // The list of MessagingExtensionAttachments must we wrapped in a MessagingExtensionResult wrapped in a MessagingExtensionResponse.
            return new MessagingExtensionResponse
            {
                ComposeExtension = new MessagingExtensionResult
                {
                    Type = "result",
                    AttachmentLayout = "list",
                    Attachments = attachments
                }
            };
        }

コード サンプル

サンプルの名前 説明 .NET Node.js マニフェスト
Teams メッセージ拡張機能検索 このサンプルでは、検索ベースのメッセージ拡張機能を構築する方法を示します。 NuGet パッケージを検索し、検索結果を検索ベースのメッセージング拡張機能に表示します。 表示 表示 表示

ステップ バイ ステップのガイド

詳細 なガイド に従って、検索ベースのメッセージ拡張機能を作成します。

次の手順

関連項目