使用 Bot Framework 生成消息扩展

使用 Bot Framework 构建的消息扩展 (基于机器人) 使用 Web 服务作为机器人。 可以使用消息扩展使用户能够从 Teams 客户端的不同位置(例如撰写消息区域、命令框)与 Web 服务交互,或者直接从消息发送回结构化数据(如卡片)。

基于机器人的消息扩展利用 Bot Framework 的消息传送架构和安全通信协议。 机器人在 Teams 应用的应用清单中定义,你还可以为消息扩展定义不同类型的命令,例如操作命令或搜索命令。

消息扩展命令有两种类型:操作命令和搜索命令。 消息扩展命令类型定义可供 Web 服务使用的 UI 元素和交互流。 可以使用搜索命令或操作命令通过 Teams 中的机器人与 Web 服务交互。

屏幕截图显示了开发人员在操作命令和搜索命令之间进行选择的方式。

邮件扩展搜索命令允许用户搜索外部系统,并将该搜索结果以卡的形式插入邮件中。 本文档指导你如何选择搜索命令调用位置,以及如何将搜索命令添加到应用清单。

注意

结果卡大小限制为 28 KB。 如果卡的大小超过 28 KB,则不会发送该卡。

请参阅以下视频,了解如何定义消息扩展搜索命令:


消息扩展中的搜索命令是使用 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 分配给搜索命令的唯一 ID。 用户请求包含此 ID。 1.0
title 命令名称。 此值显示在用户界面 (UI) 中。 1.0
description 指示此命令执行的操作的帮助文本。 此值显示在 UI 中。 1.0
semanticDescription 供大型语言模型使用的命令的语义说明。 1.17
type 命令的类型。 默认值为“query”。 1.4
initialRun 如果此属性设置为 true,则表示应在用户在 UI 中选择此命令后立即执行此命令。 1.0
context 可选的值数组,用于定义搜索操作可用的上下文。 可取值包括 messagecomposecommandBox。 默认值为 composecommandBox 1.5

必须添加以下搜索参数详细信息,用于定义在 Teams 客户端中对用户可见的文本:

属性名称 用途 是否必需? 最低清单版本
parameters 定义命令的参数的静态列表。 1.0
parameter.name 描述参数的名称。 在 parameter.name 用户请求中将 发送到服务。 1.0
parameter.description 描述参数的用途或必须提供的值的示例。 此值显示在 UI 中。 1.0
parameter.semanticDescription 大型语言模型使用的参数的语义说明。 1.17
parameter.title 简短的用户友好型参数标题或标签。 1.0
parameter.inputType 设置为所需的输入类型。 可能的值包括 text、、textareanumberdatetimetoggle。 默认值设置为 text 1.4
parameters.value 参数的初始值。 目前不支持该值 1.5

有关详细信息,请参阅 应用清单架构

后续步骤

另请参阅