Bots e SDKs

Você pode criar um bot que funcione no Microsoft Teams com uma das seguintes ferramentas ou funcionalidades:

Bots com o Microsoft Bot Framework

O bot do Teams consiste no seguinte:

  • Um serviço Web publicamente acessível hospedado por você.
  • Um Bot Framework para seu serviço Web.
  • Seu pacote de aplicativos do Teams, que conecta o cliente do Teams ao seu serviço Web.

Dica

Use o Portal do Desenvolvedor para registrar seu serviço Web com o Bot Framework e especificar as configurações do aplicativo. Para obter mais informações, confira gerenciar seus aplicativos com o Portal do Desenvolvedor para o Teams.

O Bot Framework é um SDK avançado usado para criar bots usando C#, Java, Python e JavaScript. Se você já tiver um bot baseado no Bot Framework, poderá modificá-lo facilmente para funcionar no Teams. Use C# ou Node.js para aproveitar nossos SDKs. Esses pacotes estendem as classes e os métodos básicos SDK do Construtor de Bot da seguinte maneira:

  • Utilize tipos de card especializados, como o conector card para Grupos do Microsoft 365.
  • Defina dados de canal específicos do Teams em atividades.
  • Processar solicitações de extensão de mensagem.

Você pode desenvolver aplicativos do Teams em qualquer tecnologia de programação da Web e chamar as APIs REST do Bot Framework diretamente. Tem de efetuar o processamento de tokens em todos os casos.

Bots com Power Virtual Agents

Power Virtual Agents é um serviço de chatbot criado na plataforma Microsoft Power e Bot Framework. O processo de desenvolvimento do Power Virtual Agent usa uma abordagem guiada, sem código e interface gráfica que capacita os membros da equipe a criar e manter facilmente um agente virtual inteligente. Depois de criar seu chatbot no portal Power Virtual Agents, você pode integrá-lo facilmente ao Teams. Para obter mais informações sobre como começar, consulte a documentação Power Virtual Agents.

Observação

Não pode utilizar o Microsoft Power Platform para criar aplicações que vão ser publicadas na Microsoft Teams Store. Os aplicativos do Microsoft Power Platform podem ser publicados somente na loja de aplicativos de uma organização.

Bots com webhooks e conectores

Webhooks e conectores conectam seu bot aos seus serviços Web. Usando webhooks e conectores, você pode criar um bot para interação básica, como criar um fluxo de trabalho ou outros comandos simples. Só estão disponíveis na equipa onde as cria e se destinam a processos simples específicos do fluxo de trabalho da sua empresa. Para obter mais informações, confira o que são webhooks e conectores.

Vantagens dos bots

Os bots no Microsoft Teams podem fazer parte de uma conversa privadas, um chat em grupo ou um canal em uma equipe. Cada escopo fornece oportunidades únicas e desafios para seu bot conversacional.

Em um canal. Em um chat em grupo Chat Privado
Alcance enorme Menos membros Maneira tradicional
Interações individuais concisas @mention para bot Bots de P e R
@mention para bot Semelhante ao canal Bots que contam piadas e fazem anotações

Em um canal.

Os canais contêm conversações por tópicos entre várias pessoas até 2000. Isso potencialmente dá ao seu bot um alcance enorme, mas as interações individuais devem ser concisas. As interações multifator tradicionais não funcionam. Em vez disso, tem de procurar utilizar cartões ou caixas de diálogo interativos (referidos como módulos de tarefas no TeamsJS v1.x) ou mover a conversação para uma conversação um-para-um para recolher muitas informações. O bot só tem acesso a mensagens em que é @mentioned. Você pode recuperar mensagens adicionais da conversa usando as permissões do Microsoft Graph no nível da organização.

Os bots funcionam melhor em um canal nos seguintes casos:

  • Notificações, em que você fornece um cartão interativo para os usuários obterem informações adicionais.
  • Comentários cenários como votações e pesquisas.
  • Um único ciclo de solicitação ou resposta resolve interações e os resultados são úteis para vários membros da conversa.
  • Bots sociais ou divertidos, em que você obtém uma imagem de gato incrível, escolhe aleatoriamente um vencedor e assim por diante.

Em um chat em grupo

Os chats de grupo são conversas não-encadeadas entre três ou mais pessoas. Tendem a ter menos membros do que um canal e são mais temporários. Semelhante a um canal, o bot só tem acesso a mensagens onde está @mentioned diretamente.

Os bots que funcionam melhor num canal também funcionam melhor numa conversa de grupo.

Chat Privado

O chat privado é a maneira tradicional de um bot de conversação interagir com um usuário. Alguns exemplos de bots de chat ptivado são:

  • Bots de P e R
  • bots que iniciam fluxos de trabalho noutros sistemas.
  • bots que contam piadas.
  • bots que tiram notas. Antes de criar chatbots um-para-um, considere se uma interface baseada em conversação é a melhor forma de apresentar a sua funcionalidade.

Desvantagens dos bots

Uma caixa de diálogo extensa entre o bot e o usuário é uma maneira lenta e complexa de concluir uma tarefa. Um bot que suporta comandos excessivos, especialmente uma vasta gama de comandos, não é bem-sucedido ou visto positivamente pelos utilizadores.

Ter experiências de vários turnos no chat

Uma caixa de diálogo extensa exige que o desenvolvedor mantenha o estado. Para sair deste estado, um utilizador tem de exceder o limite de tempo ou selecionar Cancelar. Além disso, o processo é entediante. Por exemplo, consulte o seguinte cenário de conversa:

USER: Agende uma reunião com Sara.

BOT: Encontrei 200 resultados, incluindo o nome próprio e o apelido.

USER: Agende uma reunião com Sara Melo.

BOT: OK, a que hora você gostaria de se encontrar com Sara Melo?

USUÁRIO: 13h.

BOT: Em qual dia?

Suporte a muitos comandos

Como há apenas seis comandos visíveis no menu do bot atual, é improvável que algo mais seja usado com qualquer frequência. Bots que se aprofundam em uma área específica em vez de tentar ser um amplo trabalho de assistente funcionam melhor.

Manter uma grande base de dados de conhecimento

Uma das desvantagens dos bots é que é difícil manter uma grande base de dados de conhecimento de obtenção com respostas não classificadas. Os bots são mais adequados para interações rápidas e curtas e não passam por listas longas em busca de uma resposta.

Limitações e problemas conhecidos

Se não conseguir criar um bot no Portal do Programador, confirme o seguinte:

  • O registo de aplicações está ativado para os utilizadores: quando um registo de aplicações é desativado em toda a organização, os utilizadores (para além dos utilizadores com acesso de administrador Microsoft Entra) não podem registar novas aplicações. Para permitir que os utilizadores registem aplicações, os administradores têm de alternar Os utilizadores podem registar aplicações para Sim no centro de administração do Microsoft Entra.

  • Conceder permissões a utilizadores específicos para registar novas aplicações:

Trechos de código

O código seguinte fornece um exemplo de uma atividade de bot para um âmbito de equipa de canal:


protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
    var mention = new Mention
    {
        Mentioned = turnContext.Activity.From,
        // EncodeName: Converts the name to a valid XML name.
        Text = $"<at>{XmlConvert.EncodeName(turnContext.Activity.From.Name)}</at>",
    };
    
    // MessageFactory.Text(): Specifies the type of text data in a message attachment.
    var replyActivity = MessageFactory.Text($"Hello {mention.Text}.");
    replyActivity.Entities = new List<Entity> { mention };

    // Sends a message activity to the sender of the incoming activity.
    await turnContext.SendActivityAsync(replyActivity, cancellationToken);
}

O código a seguir fornece um exemplo de atividade de bot para um chat privado:


// Handle message activity
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
    // Remove recipient mention text from Text property.
    // Use with caution because this function is altering the text on the Activity.
    turnContext.Activity.RemoveRecipientMention();
    var text = turnContext.Activity.Text.Trim().ToLower();

    // Sends a message activity to the sender of the incoming activity.
    await turnContext.SendActivityAsync(MessageFactory.Text($"Your message is {text}."), cancellationToken);
}

Exemplo de código

Nome do exemplo Descrição .NETCore Node.js Python Manifesto
Bot de conversas do Teams Esta aplicação de exemplo mostra como utilizar diferentes eventos de conversação de bot disponíveis no bot framework v4. View View View Exibir
Exemplos de bot Conjunto de exemplos do bot framework v4. View View View

Próxima etapa

Confira também