Определение команд поиска расширений сообщений

Команда поиска вызывается из любого или обоих следующих расположений:

  • Область создания сообщения: кнопки в нижней части области создания сообщения.
  • Командное поле: с помощью / в командном окне. Например, /your-app-name. Если вы используете классическую команду Teams, команда поиска вызывается в командном @mentioning окне. Например, @your-app-name.

При вызове команды поиска из области создания сообщений пользователь отправляет результаты в беседу. При вызове команды поиска из командного поля пользователь взаимодействует с результирующей карта или копирует ее для использования в другом месте.

На следующем рисунке показаны расположения вызова команды поиска:

Снимок экрана: расположения вызова команды поиска в канале Teams.

Добавление команды поиска в манифест приложения

Чтобы добавить команду поиска в манифест приложения (ранее — манифест приложения Teams), необходимо добавить новый composeExtensions объект на верхний уровень JSON манифеста приложения. Команду поиска можно добавить с помощью портала разработчика или вручную.

Создание расширения для сообщений поиска с помощью Bot Framework

Вы можете создать расширение для сообщений поиска с помощью набора средств Teams и портала разработчика для Teams.

Предварительные требования

Прежде чем приступить к работе, убедитесь, что вы соответствуете следующим требованиям:

Чтобы создать расширение для сообщений на основе поиска с помощью Набора средств Teams, выполните следующие действия.

  1. Откройте Visual Studio Code.

  2. В левой области выберите Набор средств Teams.

  3. Выберите Создать новое приложение.

  4. Выберите Расширение сообщений.

  5. Выберите Настраиваемые результаты поиска.

  6. Выберите язык программирования.

  7. Выберите Папка по умолчанию.

  8. Введите имя приложения и нажмите клавишу ВВОД.

    Набор средств Teams формирует шаблон проекта и создает расширение для сообщений поиска.

Чтобы запустить расширение сообщений в Teams, выполните следующие действия.

  1. В левой области выберите Набор средств Teams.

  2. В разделе Учетные записи войдите с помощью учетной записи Microsoft 365 и учетной записи Azure, если это еще не сделано.

    Снимок экрана: параметр входа в Microsoft 365 и Azure в наборе средств Teams.

  3. В левой области выберите Выполнить и отладить (CTRL+SHIFT+D).

  4. В раскрывающемся списке конфигурация запуска выберите Preview in Teams (Edge) или Preview in Teams (Chrome). Набор средств Teams запускает веб-клиент Teams в окне браузера.

  5. Перейдите в сообщение чата и щелкните значок Действия и приложения . Во всплывающем меню найдите свое приложение.

  6. Выберите расширение сообщений в списке и введите команду поиска в поле поиска.

  7. Выберите элемент из списка. Элемент разворачивается в адаптивную карточку в области создания сообщения.

  8. Нажмите кнопку Отправить. Teams отправляет результат поиска в виде адаптивной карточки в сообщении чата.

Расширение расширения сообщений на основе бота в качестве подключаемого модуля

Важно!

Подключаемые модули для Microsoft Copilot для Microsoft 365 доступны в предварительной версии и работают только в Microsoft 365 Chat в Teams.

Подключаемые модули Microsoft 365 обеспечивают интеграцию с различными продуктами Microsoft 365, такими как Teams и Outlook. Интеграция помогает пользователям искать или создавать содержимое во внешних системах. Подключаемые модули расширения сообщений позволяют Microsoft Copilot для Microsoft 365 взаимодействовать с API из другого программного обеспечения и служб через бота. Рекомендуется создавать или обновлять существующие расширения сообщений, чтобы максимально повысить их полезность и удобство использования в Copilot для Microsoft 365. Дополнительные сведения см. в статье Расширение расширения сообщений на основе бота в качестве подключаемого модуля для Copilot для 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 и отображает результаты в расширении для обмена сообщениями на основе поиска. Просмотр Просмотр View

Пошаговые инструкции

Следуйте инструкциям из пошагового руководства , чтобы создать расширение для сообщений на основе поиска.

Следующее действие

См. также