Noções básicas sobre conversas
Importante
Os exemplos de código nesta secção baseiam-se na versão 4.6 e versões posteriores do SDK do Bot Framework. Se estiver à procura de documentação para versões anteriores, veja a secção bots – SDK v3 na pasta SDKs Legados da documentação.
Uma conversação é uma série de mensagens enviadas entre o bot do Microsoft Teams e um ou mais utilizadores. A tabela seguinte fornece os três tipos de conversações, também denominados âmbitos no Teams:
Tipo de conversação | Descrição |
---|---|
channel |
Este tipo de conversação é visível para todos os membros do canal. |
personal |
Este tipo de conversação inclui conversações entre bots e um único utilizador. |
groupChat |
Este tipo de conversação inclui conversas entre um bot e dois ou mais utilizadores. Também ativa o bot em conversas de reunião. |
Um bot comporta-se de forma diferente consoante a conversação em que está envolvido:
Bots em conversas de chat em grupo e canal exigem que o usuário @mention o bot para invocá-lo em um canal.
Os bots em uma conversa um-para-um não exigem um @mention. Todas as mensagens enviadas pelo utilizador encaminham para o bot.
Os bots podem receber todas as mensagens de chat e de canal numa equipa sem utilizar @mentioned permissões de consentimento específico do recurso (RSC). O RSC para todas as mensagens de chat só está disponível na pré-visualização do programador público para o Teams. Para obter mais informações, consulte Receber todas as mensagens de conversação com RSC.
Para que o bot funcione numa determinada conversação ou âmbito, adicione suporte a esse âmbito no manifesto da aplicação.
Cada mensagem numa conversação de bot é um Activity
objeto do tipo messageType: message
. Quando um utilizador envia uma mensagem, o Teams publica a mensagem no bot e o bot processa a mensagem. Além disso, para definir comandos principais aos quais o bot responde, pode adicionar um menu de comandos com uma lista pendente de comandos para o bot. Os bots num grupo ou canal só recebem mensagens quando são mencionados @botname. O Teams envia notificações ao bot de eventos de conversa que ocorrem em escopos onde o bot está ativo. Pode capturar estes eventos no seu código e tomar medidas sobre os mesmos.
Um bot também pode enviar mensagens proativas aos utilizadores. Uma mensagem proativa é qualquer mensagem enviada por um bot que não responde a uma solicitação de um usuário. Pode formatar as mensagens do bot para incluir cartões avançados que incluem elementos interativos, como botões, texto, imagens, áudio, vídeo, entre outros. O bot pode atualizar dinamicamente as mensagens depois de as enviar, em vez de ter as suas mensagens como instantâneos estáticos de dados. As mensagens também podem ser eliminadas com o método do DeleteActivity
Bot Framework. O pedido enviado para o bot mostra o ID de conversação e o ID do inquilino nos cabeçalhos.
O Bot de notificação é um tipo de bot de conversação, que envia notificações como texto simples ou Cartões Ajustáveis. O modelo de bot de notificação cria uma aplicação que envia uma mensagem para o Teams com Cartões Ajustáveis acionados por http post request.
O Bot de comandos é um tipo de bot de conversação que pode responder a comandos simples enviados em conversas com Cartões Ajustáveis. Pode criar modelos de Bot de comandos no Teams para responder a comandos de chat ao apresentar a IU com um Cartão Adaptável.
O bot de fluxo de trabalho é um tipo de bot de conversação, que interage com os utilizadores no Cartão Ajustável. Pode personalizar a forma como o bot envia o Cartão Ajustável aos utilizadores.
Adicionar autenticação SSO aos bots de conversação
Pode adicionar a autenticação de início de sessão único ao seu bot de conversação através dos seguintes passos: