Определение команд действий расширения для сообщений
Перед созданием команды действия необходимо решить следующие важные вопросы:
- Откуда можно будет активировать команду действия?
- Как создается диалоговое окно (называемое модулем задач в TeamsJS версии 1.x)?
- Отправляется ли последнее сообщение или карточка в канал от бота или сообщение или карточка вставляются в область создания сообщения для отправки пользователем?
Выбор расположений, из которых будет вызываться команда действия
Сначала необходимо определить расположение, из которого должна быть вызвана команда действия. При указании свойства в манифесте context
приложения (ранее называемом манифестом приложения Teams) можно вызвать команду из одного или нескольких из следующих расположений:
Область создания сообщения: кнопки в нижней части области создания сообщения.
Контекст команд =
compose
Командное поле: с помощью / в командном окне. Например, /your-app-name. Если вы используете классическую команду Teams, команда action вызывается в командном @mentioning окне. Например, @your-app-name.
Контекст команд =
commandBox
Примечание.
Если расширение сообщений вызывается из командного окна, вы не сможете ответить сообщением бота, вставленным непосредственно в беседу.
Сообщение: непосредственно из существующего сообщения через меню переполнения
...
сообщения.Контекст команд =
message
Примечание.
Начальный вызов бота включает объект JSON, содержащий сообщение, из которого он был вызван. Вы можете обработать сообщение перед представлением диалогового окна.
Когда пользователь выбирает многоточие ..., отображается меню переполнения. Однако по умолчанию действия с сообщениями для приложений, созданных вами для вашей организации или сторонних приложений, не отображаются. Когда пользователь выберет Дополнительные действия, он сможет просмотреть действия сообщения и выбрать необходимый параметр. Соответствующее действие сообщения отображается в меню переполнения. В меню переполнения отображаются три последних действия сообщений. Вы не можете закрепить отображаемое действие сообщения.
На следующем рисунке показаны расположения, из которых вызывается команда действия:
Выбор способа создания диалогового окна
Помимо выбора места вызова команды, необходимо также выбрать способ заполнения формы в диалоговом окне для пользователей. У вас есть три варианта создания формы, отображаемой в диалоговом окне:
- Статический список параметров: это самый простой метод. Вы можете определить список параметров в манифесте приложения, отображаемом клиентом Teams, но не можете управлять форматированием в этом случае.
- Адаптивная карточка. Вы можете использовать адаптивную карточку, которая обеспечивает больший контроль над пользовательским интерфейсом, но по-прежнему ограничивает доступные элементы управления и параметры форматирования.
- Внедренное веб-представление. Вы можете внедрить пользовательское веб-представление в диалоговое окно, чтобы иметь полный контроль над пользовательским интерфейсом и элементами управления.
Если вы хотите создать диалоговое окно со статическим списком параметров и когда пользователь отправляет его, вызывается расширение сообщения. При использовании внедренного веб-представления или адаптивной карточки расширение сообщения должно обработать исходное событие вызова от пользователя, создать диалоговое окно и вернуть его клиенту.
Выбор способа, которым будет отправлено окончательное сообщение
В большинстве случаев команда действия приводит к вставке карточки в окно создания сообщения. Пользователь может отправить ее в канал или чат. В этом случае сообщение поступает от пользователя, и бот не может изменить или обновить карточку дальше.
Если расширение для сообщений вызывается из поля создания или непосредственно из сообщения, веб-служба может вставить окончательный ответ непосредственно в канал или чат. В этом случае адаптивная карточка поступает от бота, бот обновляет ее и при необходимости отвечает потоку беседы. Необходимо добавить объект в bot
манифест приложения, используя тот же идентификатор и определив соответствующие области.
Создание команды действия с помощью портала разработчика
Команду действия можно создать с помощью набора средств Teams и портала разработчика для Teams.
Чтобы создать расширение сообщений на основе действий с помощью набора средств Teams, выполните следующие действия.
- Откройте Visual Studio Code.
- В левой области выберите Набор средств Teams.
- Выберите Создать новое приложение.
- Выберите Расширение сообщений.
- Выберите Сбор из входных и обрабатываемых данных.
- Выберите язык программирования.
- Выберите Папка по умолчанию.
- Введите имя приложения и нажмите клавишу ВВОД.
Набор средств Teams формирует шаблон проекта и создает расширение для сообщений о действиях.
Фрагменты кода
В следующем коде приведен пример использования расширений сообщений на основе действий.
protected override Task<MessagingExtensionActionResponse> OnTeamsMessagingExtensionFetchTaskAsync(ITurnContext<IInvokeActivity> turnContext, MessagingExtensionAction action, CancellationToken cancellationToken)
{
// Handle different actions using switch.
switch (action.CommandId)
{
case "HTML":
return new MessagingExtensionActionResponse
{
Task = new TaskModuleContinueResponse
{
Value = new TaskModuleTaskInfo
{
Height = 200,
Width = 400,
Title = "Task Module HTML Page",
Url = baseUrl + "/htmlpage.html",
},
},
};
default:
string memberName = "";
var member = await TeamsInfo.GetMemberAsync(turnContext, turnContext.Activity.From.Id, cancellationToken);
memberName = member.Name;
return new MessagingExtensionActionResponse
{
Task = new TaskModuleContinueResponse
{
Value = new TaskModuleTaskInfo
{
Card = <<AdaptiveAction card json>>,
Height = 200,
Width = 400,
Title = $"Welcome {memberName}",
},
},
};
}
}
Пример кода
Название примера | Описание | .NET | Node.js | Манифест |
---|---|---|---|---|
Действие расширения для сообщений Teams | В этом примере показано, как определить команды действий, создать диалоговое окно и ответить на действие отправки диалога. | Просмотр | Просмотр | Просмотр |
Предварительный просмотр действия расширения сообщений | В этом примере показано, как использовать предварительную версию действий в расширениях обмена сообщениями с помощью Bot Framework версии 4. | Просмотр | Просмотр | View |
Пошаговые инструкции
Выполните пошаговые инструкции по созданию расширения сообщений на основе действий Teams.
Следующее действие
Если вы используете адаптивную карточку или внедренное веб-представление без taskInfo
объекта, следующим шагом является следующее:
Если вы используете параметры или внедренное веб-представление с taskInfo
объектом, следующим шагом является следующее:
См. также
Platform Docs