Bots e SDKsBots and SDKs

Para criar um bot que funcione no Microsoft Teams, você pode usar um dos seguintes:To create a bot that works in Microsoft Teams, you can use one of the following:

  • Um bot existente criado no SDK da Estrutura do Microsoft Bot.An existing bot built on the Microsoft Bot Framework SDK.
  • Serviço de chatbot do Power Virtual Agents.Power Virtual Agents chatbot service.
  • Webhooks e conectores.Webhooks and connectors.

Bots e a Estrutura do Microsoft BotBots and the Microsoft Bot Framework

O bot do Teams consiste nos três elementos a seguir:Your Teams bot consists of the following three elements:

  • Um serviço web publicamente acessível hospedado por você.A publicly accessible web service that you host.
  • Seu registro de bot com a Estrutura de Bot.Your bot registration with the Bot Framework.
  • Seu pacote de aplicativos do Teams com o manifesto do aplicativo.Your Teams app package with your app manifest. Isso é o que os usuários instalam e conectam o cliente do Teams ao seu serviço Web, roteado por meio do serviço de bot.This is what your users install and connect the Teams client to your web service, routed through the bot service.

A Estrutura de Bot é um SDK rico usado para criar bots usando C#, Java, Python e JavaScript.The Bot Framework is a rich SDK used to create bots using C#, Java, Python, and JavaScript. Se você já tiver um bot baseado na Estrutura de Bots, poderá facilmente modificá-lo para funcionar no Microsoft Teams.If you already have a bot that is based on the Bot Framework, you can easily modify it to work in Microsoft Teams. Use C# ou Node.js tirar proveito de nossos SDKs.Use either C# or Node.js to take advantage of our SDKs. Esses pacotes estendem as classes e métodos básicos do SDK do Construtor de Bots da seguinte forma:These packages extend the basic Bot Builder SDK classes and methods as follows:

  • Use tipos de cartão especializados, como o cartão conector do Office 365.Use specialized card types like the Office 365 connector card.
  • Definir dados de canal específicos do Teams em atividades.Set Teams-specific channel data on activities.
  • Processar solicitações de extensão de mensagens.Process messaging extension requests.

Importante

Você pode desenvolver aplicativos do Teams em qualquer tecnologia de programação da Web e chamar as APIs REST da Estrutura de Bot diretamente.You can develop Teams apps in any web programming technology and call the Bot Framework REST APIs directly. Mas você deve executar o tratamento de token em todos os casos.But you must perform token handling in all cases.

Dica

O Teams App Studio ajuda você a criar e configurar seu manifesto do aplicativo e registrar seu serviço Web como um bot na Estrutura de Bots.Teams App Studio helps you create and configure your app manifest, and register your web service as a bot on the Bot Framework. Ele também contém uma biblioteca de controle react e um construtor de cartões interativo.It also contains a React control library and an interactive card builder. Para obter mais informações, consulte como começar com o Teams App Studio.For more information, see getting started with Teams App Studio.

Bots e agentes virtuais do Microsoft PowerBots and the Microsoft Power Virtual Agents

O Power Virtual Agents é um serviço de chatbot criado na plataforma do Microsoft Power e na Estrutura de Bots.Power Virtual Agents is a chatbot service built on the Microsoft Power platform and Bot Framework. O processo de desenvolvimento do Power Virtual Agent usa uma abordagem guiada, sem código e interface gráfica que permite aos membros da equipe criar e manter facilmente um agente virtual inteligente.The Power Virtual Agent development process uses a guided, no-code, and graphical interface approach that empowers your team members to easily create and maintain an intelligent virtual agent. Depois de criar seu chatbot no portal do Power Virtual Agents,você pode integrá-lo facilmente ao Teams.After creating your chatbot in the Power Virtual Agents portal, you can easily integrate it with Teams. Para obter mais informações sobre como começar, consulte a documentação do Power Virtual Agents.For more information on getting started, see Power Virtual Agents documentation.

Bots e webhooks e conectoresBots and webhooks and connectors

Webhooks e conectores conectam seu bot aos seus serviços Web.Webhooks and connectors connect your bot to your web services. Usando webhooks e conectores, você pode criar um bot simples para interação básica, como a criação de um fluxo de trabalho ou outros comandos simples.Using webhooks and connectors, you can create a simple bot for basic interaction, such as creating a workflow or other simple commands. Eles estão disponíveis apenas na equipe em que você os cria e se destinam a processos simples específicos do fluxo de trabalho da sua empresa.They are available only in the team where you create them and are intended for simple processes specific to your company's workflow. Para obter mais informações, consulte o que são webhooks e conectores.For more information, see what are webhooks and connectors.

Vantagens dos botsAdvantages of bots

Os bots no Microsoft Teams podem fazer parte de uma conversa privadas, um chat em grupo ou um canal em uma equipe.Bots in Microsoft Teams can be part of a one-to-one conversation, a group chat, or a channel in a team. Cada escopo fornece oportunidades e desafios exclusivos para seu bot de conversa.Each scope provides unique opportunities and challenges for your conversational bot.

Em um canalIn a channel Em um chat em grupoIn a group chat Em um chat um para umIn a one-to-one chat
Alcance massivoMassive reach Menos membrosFewer members Maneira tradicionalTraditional way
Concisa interações individuaisConcise individual interactions @mention para bot@mention to bot P&A botsQ&A bots
@mention para bot@mention to bot Semelhante ao canalSimilar to channel Bots que contam as brincadeiras e fazem anotaçõesBots that tell jokes and take notes

Em um canalIn a channel

Os canais contêm conversas encadeadas entre várias pessoas até dois mil.Channels contain threaded conversations between multiple people even up to two thousand. Isso pode dar ao bot um grande alcance, mas as interações individuais devem ser concisas.This potentially gives your bot massive reach, but individual interactions must be concise. Interações multi-turn tradicionais não funcionam.Traditional multi-turn interactions do not work. Em vez disso, você deve procurar usar cartões interativos ou módulos de tarefa ou mover a conversa para uma conversa um para um para coletar muitas informações.Instead, you must look to use interactive cards or task modules, or move the conversation to a one-to-one conversation to collect lots of information. Seu bot só tem acesso a mensagens onde ele está @mentioned .Your bot only has access to messages where it is @mentioned. Você pode recuperar mensagens adicionais da conversa usando o Microsoft Graph e permissões no nível da organização.You can retrieve additional messages from the conversation using Microsoft Graph and organization-level permissions.

Os bots funcionam melhor em um canal nos seguintes casos:Bots work better in a channel in the following cases:

  • Notificações, onde você fornece um cartão interativo para os usuários receberem informações adicionais.Notifications, where you provide an interactive card for users to take additional information.
  • Cenários de feedback, como pesquisas e pesquisas.Feedback scenarios, such as polls and surveys.
  • Um único ciclo de solicitação ou resposta resolve interações e os resultados são úteis para vários membros da conversa.Single request or response cycle resolves interactions and the results are useful for multiple members of the conversation.
  • Bots sociais ou divertidos, onde você recebe uma imagem de gato incrível, escolhe aleatoriamente um vencedor e assim por diante.Social or fun bots, where you get an awesome cat image, randomly pick a winner, and so on.

Em um chat em grupoIn a group chat

Os chats de grupo são conversas não-encadeadas entre três ou mais pessoas.Group chats are non-threaded conversations between three or more people. Tendem a ter menos membros do que um canal e são mais temporários.They tend to have fewer members than a channel and are more transient. Semelhante a um canal, seu bot só tem acesso a mensagens em que ele está @mentioned diretamente.Similar to a channel, your bot only has access to messages where it is @mentioned directly.

Nos casos em que os bots funcionam melhor em um canal também funcionam melhor em um chat em grupo.In the cases where bots work better in a channel also work better in a group chat.

Em um chat um para umIn a one-to-one chat

O chat um para um é uma maneira tradicional de um bot de conversa interagir com um usuário.One-to-one chat is a traditional way for a conversational bot to interact with a user. Alguns exemplos de bots conversais de um para um são os bots de Q&A, bots que iniciam fluxos de trabalho em outros sistemas, bots que contam as piadas e bots que fazem anotações.A few examples of one-to-one conversational bots are Q&A bots, bots that initiate workflows in other systems, bots that tell jokes, and bots that take notes. Antes de criar chatbots um para um, considere se uma interface baseada em conversa é a melhor maneira de apresentar sua funcionalidade.Before creating one-to-one chatbots, consider whether a conversation-based interface is the best way to present your functionality.

Desvantagens dos botsDisadvantages of bots

Uma caixa de diálogo extensa entre seu bot e o usuário é uma maneira lenta e complexa de concluir uma tarefa.An extensive dialog between your bot and the user is a slow and complex way to get a task completed. Um bot que oferece suporte a comandos excessivos, especialmente uma ampla variedade de comandos, não é bem-sucedido ou exibido positivamente pelos usuários.A bot that supports excessive commands, especially a broad range of commands, is not successful or viewed positively by users.

Ter experiências multi-turn no chatHave multi-turn experiences in chat

Uma caixa de diálogo extensa exige que o desenvolvedor mantenha o estado.An extensive dialog requires the developer to maintain state. Para sair desse estado, um usuário deve ter um tempo de vida ou selecionar Cancelar.To exit this state a user must either time-out or select Cancel. Além disso, o processo é tedioso.Also, the process is tedious. Por exemplo, consulte o seguinte cenário de conversa:For example, see the following conversation scenario:

USER: Agende uma reunião com Megan.USER: Schedule a meeting with Megan.

BOT: Eu descobri 200 resultados, inclua um nome e sobrenome.BOT: I’ve found 200 results, please include a first and last name.

USER: Agende uma reunião com Megan Bowen.USER: Schedule a meeting with Megan Bowen.

BOT: OK, a que horas você gostaria de se encontrar com Megan Bowen?BOT: OK, what time would you like to meet with Megan Bowen?

USER: 13:00 pm.USER: 1:00 pm.

BOT: Em qual dia?BOT: On which day?

Dar suporte a muitos comandosSupport too many commands

Como há apenas seis comandos visíveis no menu de bot atual, é improvável que algo mais seja usado com qualquer frequência.As there are only six visible commands in the current bot menu, anything more is unlikely to be used with any frequency. Bots que vão fundo em uma área específica em vez de tentar ser um trabalho de assistente amplo e melhor tarifa.Bots that go deep into a specific area rather than trying to be a broad assistant work and fare better.

Manter uma grande base de dados de conhecimentoMaintain a large knowledge base

Uma das desvantagens dos bots é que é difícil manter uma grande base de dados de conhecimento de recuperação com respostas sem controle.One of the disadvantages of bots is that it is difficult to maintain a large retrieval knowledge base with unranked responses. Os bots são mais adequados para interações curtas e rápidas e não passam por listas longas procurando uma resposta.Bots are best suited for short, quick interactions, and not sifting through long lists looking for an answer.

Exemplo de códigoCode sample

Exemplo de nomeSample name DescriçãoDescription . NETCore.NETCore Node.jsNode.js
Bot de conversas do TeamsTeams conversation bot Manipulação de eventos de mensagens e conversas.Messaging and conversation event handling. ViewView ViewView

Próxima etapaNext step