Compartilhar via


Criar extensões de mensagens com o Bot Framework

As extensões de mensagens criadas com o Bot Framework (baseado em Bot) utilizam um serviço Web como bot. Pode utilizar extensões de mensagens para permitir que os utilizadores interajam com o seu serviço Web a partir de diferentes localizações no cliente do Teams, como a área de composição de mensagens, a caixa de comando ou diretamente a partir de uma mensagem e enviar dados estruturados de volta, como cartões.

A extensão de mensagens baseada em bot tira partido do esquema de mensagens do Bot Framework e do protocolo de comunicação seguro. O bot é definido no manifesto da aplicação para a aplicação Teams e também pode definir diferentes tipos de comandos para a sua extensão de mensagem, como comandos de ação ou comandos de pesquisa.

Há dois tipos de comandos de extensão de mensagem: comando de ação e comando de pesquisa. O tipo de comando de extensão de mensagem define os elementos de interface do usuário e os fluxos de interação disponíveis para seu serviço Web. Pode utilizar um comando de pesquisa ou um comando de ação para interagir com o seu serviço Web através de um bot no Teams.

Captura de ecrã a mostrar a forma de um programador selecionar entre comandos de ação e comandos de pesquisa.

Os comandos de pesquisa da extensão de mensagens permitem que os utilizadores pesquisem sistemas externos e insiram os resultados dessa pesquisa numa mensagem sob a forma de um card. Este documento orienta-o sobre como selecionar o comando de pesquisa invocar localizações e adicionar o comando de pesquisa ao manifesto da aplicação.

Observação

O limite de tamanho do resultado card é de 28 KB. O card não é enviado se o tamanho exceder os 28 KB.

Veja o seguinte vídeo para saber como definir comandos de pesquisa de extensões de mensagens:


O comando de pesquisa numa extensão de mensagem é configurado com a composeExtensions.commands propriedade e o query tipo no manifesto da aplicação (anteriormente denominado manifesto de aplicação do Teams). As descrições de comandos e parâmetros melhoram a usabilidade e a eficácia de uma extensão de mensagem. Uma boa descrição do comando oferece um resumo claro e conciso das funcionalidades da aplicação.

O código seguinte é um exemplo da propriedade que composeExtensions define um comando de pesquisa:

{
 "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
    }
  ],

Parâmetros

Tem de adicionar os seguintes parâmetros à sua composeExtensions.commands matriz de objetos:

Nome da propriedade Objetivo Obrigatório? Versão do manifesto
id ID exclusivo que atribui ao comando de pesquisa. A solicitação do usuário inclui essa ID. Sim 1.0
title Nome do comando. Este valor aparece na interface de utilizador (IU). Sim 1.0
description Texto de ajuda que indica o que este comando faz. Esse valor aparece na interface do usuário. Sim 1.0
semanticDescription Descrição semântica do comando para consumo pelos Modelos de Linguagem Grandes (LLMs). Não 1.17
type Tipo de comando. O padrão é query. Não 1.4
initialRun Se esta propriedade estiver definida como true, indica que este comando deve ser executado assim que o utilizador selecionar este comando na IU. Não 1.0
context Matriz opcional de valores que define o contexto em que a ação de pesquisa está disponível. Os valores possíveis são message, compose ou commandBox. A predefinição é compose,commandBox. Não 1,5

Tem de adicionar os seguintes detalhes do parâmetro de pesquisa que definem o texto visível para o utilizador no cliente do Teams:

Nome da propriedade Objetivo É necessário? Versão mínima do manifesto
parameters Define uma lista estática de parâmetros para o comando . Não 1.0
parameter.name Descreve o nome do parâmetro . O parameter.name é enviado para o seu serviço no pedido de utilizador. Sim 1.0
parameter.description Descreve os objetivos do parâmetro ou o exemplo do valor que tem de ser fornecido. Esse valor aparece na interface do usuário. Sim 1.0
parameter.semanticDescription Descrição semântica do parâmetro para consumo pelos Modelos de Linguagem Grandes (LLMs). Não 1.17
parameter.title Título ou etiqueta abreviado do parâmetro amigável do utilizador. Sim 1.0
parameter.inputType Defina para o tipo de entrada necessária. Os valores possíveis incluem text, textarea, number, date, time, . toggle A predefinição está definida como text. Não 1.4
parameters.value Valor inicial para o parâmetro. O valor não é suportado Não 1,5

Para obter mais informações, veja esquema de manifesto de aplicação.

Próxima etapa

Confira também