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

Важно!

Примеры кода в этом разделе основаны на 4.6 и более поздних версиях SDK Bot Framework. Если вы ищете документацию для более ранних версий, см. раздел Расширения обмена сообщениями — раздел v3 SDK в папке Ресурсы документации.

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

Примечание

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

Выберите расположения команд поиска, вызываемой

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

  • Область составить сообщение. Кнопки в нижней части области составить сообщение.

  • Командная шкатулка: @mentioning в командном окне.

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

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

Команда поиска вызывает расположения

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

Чтобы добавить команду поиска в манифест приложения, необходимо добавить новый объект на верхний уровень composeExtension манифеста приложения JSON. Вы можете добавить команду поиска либо с помощью App Studio, либо вручную.

Создание команды поиска с помощью App Studio

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

Создание команды поиска

  1. Откройте App Studio Microsoft Teams клиента и выберите вкладку Редактор Манифеста.

  2. Если вы уже создали пакет приложений в App Studio, выберите из списка. Если вы не создали пакет приложений, импортировать существующий пакет.

  3. После импорта пакета приложений выберите расширения обмена сообщениями в статье Capabilities. Вы получите всплывающее окно, чтобы настроить расширение обмена сообщениями.

  4. Выберите Настройка в окне, чтобы включить расширение обмена сообщениями в приложение. На следующем изображении отображается страница расширения обмена сообщениями:

    messaging extension set up
  5. Для создания расширения обмена сообщениями необходим зарегистрированный бот Майкрософт. Можно использовать существующий бот или создать новый бот. Выберите создание нового варианта бота, назови имя нового бота и выберите Create. На следующем изображении отображается создание бота для расширения обмена сообщениями:

    create bot for messaging extension
  6. Выберите Добавить в разделе Команда страницы расширения обмена сообщениями, чтобы включить команды, которые решают поведение расширения обмена сообщениями.
    На следующем изображении отображается добавление команд для расширения обмена сообщениями:

    include command
  7. Выберите Разрешить пользователям запрашивать у службы сведения и вставить их в сообщение. На следующем изображении отображается выбор параметров команды поиска:

    search command parameter selection
  8. Добавление командного и заголовок.

  9. Выберите расположение, на котором должна вызываться команда поиска. Выбор сообщения в настоящее время не изменяет поведение команды поиска. На следующем изображении отображается расположение вызова команды поиска:

    search command invoke location selection]
  10. Добавьте параметр поиска и выберите Сохранить.

Создание команды поиска вручную

Чтобы вручную добавить команду поиска расширения обмена сообщениями в манифест приложения, необходимо добавить в массив объектов следующие composeExtension.commands параметры:

Имя свойства Назначение Обязательный? Минимальная версия манифеста
id Это свойство — уникальный ID, который назначается команде поиска. Запрос пользователя включает этот ID. Да 1.0
title Это свойство — командное имя. Это значение отображается в пользовательском интерфейсе (пользовательском интерфейсе). Да 1.0
description Это свойство — текст справки, указывающий, что делает эта команда. Это значение отображается в пользовательском интерфейсе. Да 1.0
type Это свойство должно быть query . Нет 1.4
initialRun Если это свойство заданной для true, это указывает на то, что эта команда должна быть выполнена, как только пользователь выберет эту команду в пользовательском интерфейсе. Нет 1.0
context Это свойство — необязательный массив значений, определяя контекст, в котором доступно действие поиска. Возможные значения — message, compose и commandBox. Значение по умолчанию: ["compose", "commandBox"]. Нет 1.5

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

Имя свойства Назначение Требуется? Минимальная версия манифеста
parameters Это свойство определяет статический список параметров для команды. Нет 1.0
parameter.name Это свойство описывает имя параметра. Это отправляется в службу в запросе пользователя. Да 1.0
parameter.description Это свойство описывает цели параметра или пример необходимого значения. Это значение отображается в пользовательском интерфейсе. Да 1.0
parameter.title Это свойство — короткое удобное название параметра или метка. Да 1.0
parameter.inputType Это свойство задалось типу требуемого ввода. Возможные text значения: textarea , , , , number date time toggle . По умолчанию text установлено значение . Нет 1.4

Пример

В следующем разделе приводится пример простого манифеста приложения объекта, определяющий composeExtensions команду поиска:

{
...
  "composeExtensions": [
    {
      "botId": "57a3c29f-1fc5-4d97-a142-35bb662b7b23",
      "canUpdateConfiguration": true,
      "commands": [{
          "id": "searchCmd",
          "description": "Search Bing for information on the web",
          "title": "Search",
          "initialRun": true,
          "parameters": [{
            "name": "searchKeyword",
            "description": "Enter your search keywords",
            "title": "Keywords"
          }]
        }
      ]
    }
  ],
...
}

Полный манифест приложения см. в схеме манифеста Приложения.

Пример кода

Имя образца Описание .NET Node.js
Teams расширения обмена сообщениями Описывает, как определить команды действий, создать модуль задач и реагировать на отправку действия модуля задач. View View
Teams расширения обмена сообщениями Описывает, как определить команды поиска и реагировать на поиски. View View

Следующий этап