Definir comandos de ação de extensão de mensagem
Antes de criar o comando de ação, você deve decidir os seguintes fatores:
- De onde o comando de ação pode ser disparado?
- Como a caixa de diálogo (chamada de módulo de tarefa no TeamsJS v1.x) é criada?
- A mensagem final ou cartão enviada para o canal de um bot ou a mensagem ou cartão está inserida na área de mensagem de composição para o usuário enviar?
Confira o vídeo a seguir para saber como definir comandos de ação de extensão de mensagem:
Selecionar locais de invocação de comando de ação
Primeiro, você deve decidir o local de onde o comando de ação deve ser invocado. Quando você especifica a propriedade no manifesto do context
aplicativo (anteriormente chamado de manifesto do aplicativo teams), seu comando pode ser invocado de um ou mais dos seguintes locais:
Área redigir mensagem: os botões na parte inferior da área de mensagem de redação.
Contexto de comandos =
compose
Caixa de comando: usando /na caixa de comando. Por exemplo, /your-app-name. Se você estiver usando o teams clássico, o comando de ação será invocado na @mentioning caixa de comando. Por exemplo, @your-app-name.
Contexto de comandos =
commandBox
Observação
Se uma extensão de mensagem for invocada da caixa de comando, você não poderá responder com uma mensagem de bot inserida diretamente na conversa.
Mensagem: Diretamente de uma mensagem existente por meio do menu de estouro
...
em uma mensagem.Contexto de comandos =
message
Observação
A invocação inicial para o bot inclui um objeto JSON que contém a mensagem da qual ele foi invocado. Você pode processar a mensagem antes de apresentar uma caixa de diálogo.
Quando o usuário seleciona reticências ..., um menu de estouro é exibido. No entanto, por padrão, as ações de mensagem para aplicativos criados por você para sua organização ou aplicativos de terceiros não são exibidas. Depois que o usuário selecionar Mais ações, ele poderá ver as ações da mensagem e selecionar a opção necessária. A respectiva ação de mensagem é exibida no menu de estouro. O menu de estouro exibe as três ações de mensagem mais recentes. Você não pode fixar a ação da mensagem a ser exibida.
A imagem a seguir exibe os locais dos quais o comando de ação é invocado:
Selecione como criar sua caixa de diálogo
Além de selecionar de onde seu comando pode ser invocado, você também deve selecionar como preencher o formulário na caixa de diálogo para seus usuários. Você tem as três opções a seguir para criar o formulário renderizado dentro da caixa de diálogo:
- Lista estática de parâmetros: Esse é o método mais simples. Você pode definir uma lista de parâmetros em seu aplicativo manifestar as renderizações do cliente do Teams, mas não pode controlar a formatação nesse caso.
- Cartão Adaptável: você pode selecionar para usar um Cartão Adaptável, que fornece maior controle sobre a interface do usuário, mas ainda limita você nas opções de controles e formatação disponíveis.
- Exibição da Web inserida: você pode selecionar inserir uma exibição da Web personalizada na caixa de diálogo para ter um controle completo sobre a interface do usuário e os controles.
Se você selecionar para criar a caixa de diálogo com uma lista estática de parâmetros e quando o usuário enviar a caixa de diálogo, a extensão da mensagem será chamada. Ao usar uma exibição web inserida ou um Cartão Adaptável, sua extensão de mensagem deve lidar com um evento de invocação inicial do usuário, criar a caixa de diálogo e devolvê-la ao cliente.
Selecione como a mensagem final é enviada
Na maioria dos casos, o comando de ação resulta em um cartão inserido na caixa de mensagem de redação. O usuário pode enviá-lo para o canal ou chat. Nesse caso, a mensagem vem do usuário e o bot não pode editar ou atualizar o cartão mais adiante.
Se a extensão da mensagem for invocada da caixa de redação ou diretamente de uma mensagem, o serviço Web poderá inserir a resposta final diretamente no canal ou chat. Nesse caso, o Cartão Adaptável vem do bot, o bot o atualiza e responde ao thread de conversa, se necessário. Você deve adicionar o bot
objeto ao manifesto do aplicativo usando a mesma ID e definindo os escopos apropriados.
Criar comando de ação usando o Portal do Desenvolvedor
Você pode criar um comando de ação usando o Teams Toolkit e o Portal do Desenvolvedor para o Teams.
Para criar uma extensão de mensagem baseada em ação usando o Teams Toolkit, siga estas etapas:
- Abra o Visual Studio Code.
- No painel esquerdo, selecione Kit de Ferramentas do Teams.
- Selecione Criar um Novo Aplicativo.
- Selecione Extensão de Mensagem.
- Selecione Coletar de Dados de Entrada e Processo.
- Selecione uma linguagem de programação.
- Selecione Pasta Padrão.
- Insira o nome do aplicativo e selecione Inserir.
O Teams Toolkit faz scaffolds seu projeto e cria uma extensão de mensagem de ação.
Trechos de código
O código a seguir fornece um exemplo de ação baseado em ação para extensões de mensagem:
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}",
},
},
};
}
}
Exemplo de código
Nome do exemplo | Descrição | .NET | Node.js | Manifesto |
---|---|---|---|---|
Ação de extensão de mensagem do Teams | Este exemplo mostra como definir comandos de ação, criar caixa de diálogo e responder à ação de envio de diálogo. | View | View | Exibir |
Visualização da ação de extensão de mensagem | Este exemplo mostra como usar a visualização de ação em Extensões de Mensagens usando o Bot Framework v4. | View | View | View |
Guias passo a passo
Siga o guia passo a passo para criar a extensão de mensagem baseada em ação do Teams.
Próxima etapa
Se você estiver usando um Cartão Adaptável ou uma exibição web inserida sem um taskInfo
objeto, a próxima etapa será:
Se você estiver usando os parâmetros ou uma exibição da Web inserida com um taskInfo
objeto, a próxima etapa será:
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de