Поделиться через


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

Расширения сообщений, созданные с помощью Bot Framework (на основе бота), используют веб-службу в качестве бота. Расширения сообщений можно использовать, чтобы пользователи могли взаимодействовать с веб-службой из разных расположений в клиенте Teams, таких как область создания сообщений, командное поле или непосредственно из сообщения и отправлять обратно структурированные данные, например карточки.

Расширение сообщений на основе ботов использует схему обмена сообщениями Bot Framework и безопасный протокол связи. Бот определен в манифесте приложения Teams, и вы также можете определить различные типы команд для расширения сообщений, такие как команды действий или команды поиска.

Есть два типа команд расширения для сообщений: команда действия и команда поиска. Тип команды расширения для сообщений определяет элементы пользовательского интерфейса и потоки взаимодействия, доступные веб-службе. Вы можете использовать команду поиска или команду действия для взаимодействия с веб-службой через бота в Teams.

Снимок экрана: способ выбора между командами действий и командами поиска разработчиком.

Команды поиска расширений сообщений позволяют пользователям выполнять поиск во внешних системах и вставлять результаты этого поиска в сообщение в виде карта. В этом документе описано, как выбрать команду поиска для вызова расположений и добавить команду поиска в манифест приложения.

Примечание.

В результате карта предельный размер составляет 28 КБ. Карта не отправляется, если его размер превышает 28 КБ.

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


Команда поиска в расширении сообщения настраивается с помощью composeExtensions.commands свойства и типа в манифесте query приложения (ранее называемого манифестом приложения Teams). Описания команд и параметров повышают удобство использования и эффективность расширения сообщений. Хорошее описание команды содержит четкую и краткую сводку функций приложения.

Следующий код является примером свойства, 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 Уникальный идентификатор, назначенный команде поиска. Запрос пользователя включает этот идентификатор. Да 1.0
title Имя команды. Это значение отображается в пользовательском интерфейсе. Да 1.0
description Текст справки, указывающий, что делает эта команда. Это значение выводится в пользовательском интерфейсе. Да 1.0
semanticDescription Семантическое описание команды для использования крупными языковыми моделями (LLM). Нет 1.17
type Тип команды. Значение по умолчанию: query. Нет 1.4
initialRun Если для этого свойства задано значение true, это означает, что эта команда должна быть выполнена, как только пользователь выберет эту команду в пользовательском интерфейсе. Нет 1.0
context Необязательный массив значений, определяющий контекст, в который доступно действие поиска. Возможные значения — message, compose и commandBox. По умолчанию используется composeзначение ,commandBox . Нет 1.5

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

Имя свойства Назначение Обязательно? Минимальная версия манифеста
parameters Определяет статический список параметров для команды . Нет 1.0
parameter.name Описывает имя параметра. Отправляется parameter.name в службу в пользовательском запросе. Да 1.0
parameter.description Описывает цели параметра или пример значения, которое необходимо указать. Это значение выводится в пользовательском интерфейсе. Да 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

Дополнительные сведения см. в разделе Схема манифеста приложения.

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

См. также