SlideShare uma empresa Scribd logo
1 de 38
Conhecendo o Microsoft Bot
Framework
Douglas Romão
Microsoft MVP
Renato Romão
MTAC
- Somente IA
- Somente texto
- Somente linguagem natural
ryanv 8:26 AM
Cancelar
Azure Bot Bot 8:26 AM
Você cancelou a operação. O que você gostaria de fazer
agora?
ryanv 8:26 AM
login
Azure Bot Bot 8:26 AM
Por favor selecione onde você deseja fazer o login?
1. Event Bots
2. QA Environment 1
De forma prática, bot é uma aplicação
que executa tarefas automáticas.
Suposições
- Esperar que o usuário use o bot
- Usuários preferirem a experiência do bot ao invés de outras alternativas
(webapps, aplicativos mobile)
Priorize os fatores corretos quando desenhar seu bot
Quão “inteligente” seu bot é
- Bots inteligente não garantem que seus usuários fiquem felizes e nem a adoção de uso
- Muitos bots tem pouca processamento de linguagem natural (NLP)
Quanto de linguagem natural seu bot suporta
- Bots podem conversar muito bem
- Bots podem ter bom vocabulário
- Alguns bots não tem capacidades de conversa e ainda assim em vários casos isso é perfeitamente
plausível
Voz
- Habilitar bots para falar ou ouvir nem sempre dão boas experiências ao usuário
- Forçar os usuários a usar voz podem trazer uma experiência frustrante
- Considerações chave
- A voz é a melhor forma de atender à necessidade?
- O ambiente é ou pode ser barulhento?
- A voz transmitirá corretamente as informações para o usuário?
Ótima experiência de usuário
Considerações chave:
- O bot resolve de forma simples e com poucos passos o problema do usuário?
- O bot resolve o problema do usuário mais fácil/rápido/melhor que experiências
alternativas?
- O bot roda em diferentes dispositivos e plataformas?
- Os usuários sabem naturalmente como agir com o bot e utilizá-lo?
Bot Framework
Bot Framework é um serviço/SDK da
Microsoft
Bot Framework é uma das várias ofertas
da Microsoft para construer um bot
complete
Outras inclusas: LUIS, APIs de Speech,
Azure, e mais
Logic
Your bot
Bot Builder SDK
(Node.js + c#)
LUIS
Web
service
Portal
Bot Connector
Send/receive messages
Store state
Translation
Telemetry
…
Your bot
Channels
Your bot
Bot
Connector
{
“type” : “message” ,
“id” : 68YrxgtB53Y” ,
“conversationId” : “DphpaFQrDuZDKyCez4AFGcT4vy5aQDjellLGIjB8v18MFtb”,
“language” : “en” ,
“text” : “You can say  “/ order” to order!”,
“attachments” : [ ],
“from” : {
“name” : “+12065551212”,
“channelId” : “sms”,
“address” : “ +12065551212”,
“id” : “Ro52hKN287”,
“isBot” : false
},
“channelData” : { SMS data here },
…
}
Bot Connector service
- Serviço responsável pela troca de mensagens no canais de comunicação do bot,
essa configuração é feita no Azure;
- Utiliza REST/Json em um ambiente https
Client libraries
- O Bot framework providencia bibliotecas de cliente (Bot Builder SDK) que podem ser
utilizadas para programar tanto em C# or Node.js. O SDK suporta:
1. Diálogos que encapsulam lógicas
2. Questões de SIM/NÃO
3. Poderosos frameworks de IA como o LUIS e mais
Channel
- O canal é a comunicação entre o Bot Framework e os apps de comunicação, como:
• Skype
• Slack
• Facebook Messenger
• Office 365 mail
• Microsoft Teams
• Cortana
• Others
- Configuramos os canais no Portal do Azure
Activity
- O serviço do Bot Connector troca informações entre o bot e o canal (usuário) passando um objecto do
tipo Activity
Activity type Description
message Representa a comunicação entre o bot e o usuário
conversationUpdate Indica que o bot foi adicionado a uma conversa, outro membros foram
adicionados ou removidos da conversa, ou os metadados da conversa mudaram
contactRelationUpdate Indica que o bot foi adicionado ou removido da lista de contatos do usuário
typing Indica que o bot está compilando uma resposta
ping Representa uma tentative de determiner se o endpoint do bot está acessível
deleteUserData Indica para o bot que o usuário solicitou que o bot delete toda informação de
usuário que possa estar armazenada
endOfConversation Indica o fim da conversa
State Data
O “estágio” ou status da informação pode servir para vários propósitos:
- Determinar onde a conversa anterior foi interrompida
- Cumprimentar um usuário
- Salvando as preferências do usuário você pode customizar o modo como seu bot irá
responder na próxima conversa
Bot State Service
- Possibilita ao seu bot armazenar e recuperar o estágio/status do seu bot e recuperar
informações relacionadas ao usuário, conversa ou context específico
- Utiliza REST e Json
- Habilita autenticação e segurança
Authentication
Tanto o serviço de Bot Connector como o serviço de Bot State habilitam a autenticação
utilizando tokens JWT Bearer (Json)
JWT Bearer tokens
JSON Web Token (JWT) é um modelo open source para definição de segurança e transmissão
de dados entre partes utilizando decodificação e fazendo parse de objetos JSON
A informação pode ser verificada e confiável por que é assinada digitalmente
https://jwt.io/
Utilizando HTTPS e Bot Framework Authentication
Para garantir que o endpoint do seu bot será acessado apenas pelo conector do Bot
Framework, você deve configurar o endpoint para que utilize apenas HTTPS registrando seu
bot
Configurando a autenticação
Uma vez que seu bot foi registrado, você deve especificar o App Id e senha no web.config do
seu bot:
<appSettings>
<add key="MicrosoftAppId" value="_appIdValue_" />
<add key="MicrosoftAppPassword" value="_passwordValue_" />
</appSettings>
A autenticação utilizando o Bot Builder SDK for .NET
Para autenticar seu bot utilizando as informações que você configurou no web.config,
especifique o atributo [BotAuthentication] sem parâmetros
• Título
• Subtítulo
• Botão de ação
• Imagens
Card type Description
AdaptiveCard Combinação de texto, fala, imagens, botões e campos de input de dados
AnimationCard Reproduz GIFs e videos curtos
AudioCard Pode tocar áudios
HeroCard Tipicamente contém uma única imagem grande, um ou mais botões e texto
ThumbnailCard Tipicamente contém uma imagem miniature
ReceiptCard Tipicamente tem dados sumarizados
SignInCard Tipicamente contém textos e botões para login
VideoCard Card para rodar videos
- Interceptar mensagens;
- Enviar mensagens pró-ativas;
- Criar handlers globais para ações próprias; (cancelar, abortar)
Obrigado!
Douglas Romão
@douglasromao
douglasromao.com
Bit.ly/youtubedouglas
Renato Romão
Bit.ly/renatoromao

Mais conteúdo relacionado

Semelhante a Open Source Bootcamp Mogi das Cruzes - Bot Framework

Codelab - Actions on Google
Codelab - Actions on GoogleCodelab - Actions on Google
Codelab - Actions on GoogleAlvaro Viebrantz
 
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...Glaucia Lemos
 
Utilização de APIs do Windows Live
Utilização de APIs do Windows LiveUtilização de APIs do Windows Live
Utilização de APIs do Windows LiveRogerio Cordeiro
 
Bots (automatizando tarefas) um funcionário que não reclama (Python Brasil 2...
Bots (automatizando tarefas)  um funcionário que não reclama (Python Brasil 2...Bots (automatizando tarefas)  um funcionário que não reclama (Python Brasil 2...
Bots (automatizando tarefas) um funcionário que não reclama (Python Brasil 2...Elinaldo do Nascimento Monteiro
 
BOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaBOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaMario Guedes
 
TDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.JsTDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.Jstdc-globalcode
 
Desenvolvendo BOTs com Telegram e Javascript - TDC2016
Desenvolvendo BOTs com Telegram e Javascript - TDC2016Desenvolvendo BOTs com Telegram e Javascript - TDC2016
Desenvolvendo BOTs com Telegram e Javascript - TDC2016Erick Wendel
 
Td08 Nl Ex07 Wm6
Td08 Nl Ex07 Wm6Td08 Nl Ex07 Wm6
Td08 Nl Ex07 Wm6Nuno Luz
 
Análise de Ataques de Botnets
Análise de Ataques de BotnetsAnálise de Ataques de Botnets
Análise de Ataques de Botnetseurosigdoc acm
 
O que é teste e qualidade em Chatbots?
O que é teste e qualidade em Chatbots?O que é teste e qualidade em Chatbots?
O que é teste e qualidade em Chatbots?minastestingconference
 
Programando extensões para Internet Explorer (Webslices e Aceleradores)
Programando extensões para Internet Explorer (Webslices e Aceleradores)Programando extensões para Internet Explorer (Webslices e Aceleradores)
Programando extensões para Internet Explorer (Webslices e Aceleradores)Rogerio Cordeiro
 
Chatbot em OutSystems: um caso prático
Chatbot em OutSystems: um caso práticoChatbot em OutSystems: um caso prático
Chatbot em OutSystems: um caso práticoOutSystems User Group
 
Comunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPComunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPMichael Douglas
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicRicardo Guerra Freitas
 
Concurso widgets da TMN
Concurso widgets da TMNConcurso widgets da TMN
Concurso widgets da TMNjosemataf
 
Desenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisDesenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisJorge Moisés Assis
 
Minicurso: Como criar chatbots
Minicurso: Como criar chatbotsMinicurso: Como criar chatbots
Minicurso: Como criar chatbotsLuiz Carvalho
 
Introdução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduIntrodução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduGuilherme
 

Semelhante a Open Source Bootcamp Mogi das Cruzes - Bot Framework (20)

Codelab - Actions on Google
Codelab - Actions on GoogleCodelab - Actions on Google
Codelab - Actions on Google
 
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
 
Utilização de APIs do Windows Live
Utilização de APIs do Windows LiveUtilização de APIs do Windows Live
Utilização de APIs do Windows Live
 
Bots (automatizando tarefas) um funcionário que não reclama (Python Brasil 2...
Bots (automatizando tarefas)  um funcionário que não reclama (Python Brasil 2...Bots (automatizando tarefas)  um funcionário que não reclama (Python Brasil 2...
Bots (automatizando tarefas) um funcionário que não reclama (Python Brasil 2...
 
BOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaBOT: Conversando com o seu sistema
BOT: Conversando com o seu sistema
 
TDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.JsTDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.Js
 
Desenvolvendo BOTs com Telegram e Javascript - TDC2016
Desenvolvendo BOTs com Telegram e Javascript - TDC2016Desenvolvendo BOTs com Telegram e Javascript - TDC2016
Desenvolvendo BOTs com Telegram e Javascript - TDC2016
 
Td08 Nl Ex07 Wm6
Td08 Nl Ex07 Wm6Td08 Nl Ex07 Wm6
Td08 Nl Ex07 Wm6
 
Análise de Ataques de Botnets
Análise de Ataques de BotnetsAnálise de Ataques de Botnets
Análise de Ataques de Botnets
 
O que é teste e qualidade em Chatbots?
O que é teste e qualidade em Chatbots?O que é teste e qualidade em Chatbots?
O que é teste e qualidade em Chatbots?
 
Programando extensões para Internet Explorer (Webslices e Aceleradores)
Programando extensões para Internet Explorer (Webslices e Aceleradores)Programando extensões para Internet Explorer (Webslices e Aceleradores)
Programando extensões para Internet Explorer (Webslices e Aceleradores)
 
Chatbot em OutSystems: um caso prático
Chatbot em OutSystems: um caso práticoChatbot em OutSystems: um caso prático
Chatbot em OutSystems: um caso prático
 
Comunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPComunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHP
 
Desmistificando o DialogFlow
Desmistificando o DialogFlowDesmistificando o DialogFlow
Desmistificando o DialogFlow
 
Ai fest 2018
Ai fest 2018Ai fest 2018
Ai fest 2018
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
Concurso widgets da TMN
Concurso widgets da TMNConcurso widgets da TMN
Concurso widgets da TMN
 
Desenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisDesenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos Sociais
 
Minicurso: Como criar chatbots
Minicurso: Como criar chatbotsMinicurso: Como criar chatbots
Minicurso: Como criar chatbots
 
Introdução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduIntrodução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos Redu
 

Mais de Douglas Romão

Webinar flow fazendo mais com menos!
Webinar flow   fazendo mais com menos!Webinar flow   fazendo mais com menos!
Webinar flow fazendo mais com menos!Douglas Romão
 
Série Descomplicando azure - Soluções serverless com azure functions
Série Descomplicando azure - Soluções serverless com azure functionsSérie Descomplicando azure - Soluções serverless com azure functions
Série Descomplicando azure - Soluções serverless com azure functionsDouglas Romão
 
Open Source Bootcamp Curitiba - Deep Dive Cognitive Services
Open Source Bootcamp Curitiba - Deep Dive Cognitive ServicesOpen Source Bootcamp Curitiba - Deep Dive Cognitive Services
Open Source Bootcamp Curitiba - Deep Dive Cognitive ServicesDouglas Romão
 
Microsoft Cognitive Services - Global Azure Bootcamp SJC 2017
Microsoft Cognitive Services - Global Azure Bootcamp SJC 2017Microsoft Cognitive Services - Global Azure Bootcamp SJC 2017
Microsoft Cognitive Services - Global Azure Bootcamp SJC 2017Douglas Romão
 
Cenários de utilização do SharePoint com Azure
Cenários de utilização do SharePoint com AzureCenários de utilização do SharePoint com Azure
Cenários de utilização do SharePoint com AzureDouglas Romão
 
Integração entre o SharePoint e o Azure utilizando BCS - Azure Tech Nights
Integração entre o SharePoint e o Azure utilizando BCS - Azure Tech NightsIntegração entre o SharePoint e o Azure utilizando BCS - Azure Tech Nights
Integração entre o SharePoint e o Azure utilizando BCS - Azure Tech NightsDouglas Romão
 
Conhecendo SharePoint - Anhanguera IT Summit 2015
Conhecendo SharePoint - Anhanguera IT Summit 2015Conhecendo SharePoint - Anhanguera IT Summit 2015
Conhecendo SharePoint - Anhanguera IT Summit 2015Douglas Romão
 
OneDay Baixada 2015 - Desenvolvimento para SharePoint
OneDay Baixada 2015 - Desenvolvimento para SharePointOneDay Baixada 2015 - Desenvolvimento para SharePoint
OneDay Baixada 2015 - Desenvolvimento para SharePointDouglas Romão
 
ALM RoadShow SJC - Office 365 API´s
ALM RoadShow SJC - Office 365 API´sALM RoadShow SJC - Office 365 API´s
ALM RoadShow SJC - Office 365 API´sDouglas Romão
 
Dicas rápidas do Design no SharePoint
Dicas rápidas do Design no SharePointDicas rápidas do Design no SharePoint
Dicas rápidas do Design no SharePointDouglas Romão
 
Desenvolvimento de Apps para SharePoint 2013
Desenvolvimento de Apps para SharePoint 2013Desenvolvimento de Apps para SharePoint 2013
Desenvolvimento de Apps para SharePoint 2013Douglas Romão
 
Apresentação share point 2010 melhorias
Apresentação share point 2010   melhoriasApresentação share point 2010   melhorias
Apresentação share point 2010 melhoriasDouglas Romão
 
Novidades no Design para SharePoint 2013
Novidades no Design para SharePoint 2013Novidades no Design para SharePoint 2013
Novidades no Design para SharePoint 2013Douglas Romão
 

Mais de Douglas Romão (13)

Webinar flow fazendo mais com menos!
Webinar flow   fazendo mais com menos!Webinar flow   fazendo mais com menos!
Webinar flow fazendo mais com menos!
 
Série Descomplicando azure - Soluções serverless com azure functions
Série Descomplicando azure - Soluções serverless com azure functionsSérie Descomplicando azure - Soluções serverless com azure functions
Série Descomplicando azure - Soluções serverless com azure functions
 
Open Source Bootcamp Curitiba - Deep Dive Cognitive Services
Open Source Bootcamp Curitiba - Deep Dive Cognitive ServicesOpen Source Bootcamp Curitiba - Deep Dive Cognitive Services
Open Source Bootcamp Curitiba - Deep Dive Cognitive Services
 
Microsoft Cognitive Services - Global Azure Bootcamp SJC 2017
Microsoft Cognitive Services - Global Azure Bootcamp SJC 2017Microsoft Cognitive Services - Global Azure Bootcamp SJC 2017
Microsoft Cognitive Services - Global Azure Bootcamp SJC 2017
 
Cenários de utilização do SharePoint com Azure
Cenários de utilização do SharePoint com AzureCenários de utilização do SharePoint com Azure
Cenários de utilização do SharePoint com Azure
 
Integração entre o SharePoint e o Azure utilizando BCS - Azure Tech Nights
Integração entre o SharePoint e o Azure utilizando BCS - Azure Tech NightsIntegração entre o SharePoint e o Azure utilizando BCS - Azure Tech Nights
Integração entre o SharePoint e o Azure utilizando BCS - Azure Tech Nights
 
Conhecendo SharePoint - Anhanguera IT Summit 2015
Conhecendo SharePoint - Anhanguera IT Summit 2015Conhecendo SharePoint - Anhanguera IT Summit 2015
Conhecendo SharePoint - Anhanguera IT Summit 2015
 
OneDay Baixada 2015 - Desenvolvimento para SharePoint
OneDay Baixada 2015 - Desenvolvimento para SharePointOneDay Baixada 2015 - Desenvolvimento para SharePoint
OneDay Baixada 2015 - Desenvolvimento para SharePoint
 
ALM RoadShow SJC - Office 365 API´s
ALM RoadShow SJC - Office 365 API´sALM RoadShow SJC - Office 365 API´s
ALM RoadShow SJC - Office 365 API´s
 
Dicas rápidas do Design no SharePoint
Dicas rápidas do Design no SharePointDicas rápidas do Design no SharePoint
Dicas rápidas do Design no SharePoint
 
Desenvolvimento de Apps para SharePoint 2013
Desenvolvimento de Apps para SharePoint 2013Desenvolvimento de Apps para SharePoint 2013
Desenvolvimento de Apps para SharePoint 2013
 
Apresentação share point 2010 melhorias
Apresentação share point 2010   melhoriasApresentação share point 2010   melhorias
Apresentação share point 2010 melhorias
 
Novidades no Design para SharePoint 2013
Novidades no Design para SharePoint 2013Novidades no Design para SharePoint 2013
Novidades no Design para SharePoint 2013
 

Open Source Bootcamp Mogi das Cruzes - Bot Framework

  • 1. Conhecendo o Microsoft Bot Framework Douglas Romão Microsoft MVP Renato Romão MTAC
  • 2.
  • 3. - Somente IA - Somente texto - Somente linguagem natural ryanv 8:26 AM Cancelar Azure Bot Bot 8:26 AM Você cancelou a operação. O que você gostaria de fazer agora? ryanv 8:26 AM login Azure Bot Bot 8:26 AM Por favor selecione onde você deseja fazer o login? 1. Event Bots 2. QA Environment 1
  • 4. De forma prática, bot é uma aplicação que executa tarefas automáticas.
  • 5.
  • 6. Suposições - Esperar que o usuário use o bot - Usuários preferirem a experiência do bot ao invés de outras alternativas (webapps, aplicativos mobile) Priorize os fatores corretos quando desenhar seu bot
  • 7. Quão “inteligente” seu bot é - Bots inteligente não garantem que seus usuários fiquem felizes e nem a adoção de uso - Muitos bots tem pouca processamento de linguagem natural (NLP) Quanto de linguagem natural seu bot suporta - Bots podem conversar muito bem - Bots podem ter bom vocabulário - Alguns bots não tem capacidades de conversa e ainda assim em vários casos isso é perfeitamente plausível
  • 8. Voz - Habilitar bots para falar ou ouvir nem sempre dão boas experiências ao usuário - Forçar os usuários a usar voz podem trazer uma experiência frustrante - Considerações chave - A voz é a melhor forma de atender à necessidade? - O ambiente é ou pode ser barulhento? - A voz transmitirá corretamente as informações para o usuário?
  • 9. Ótima experiência de usuário Considerações chave: - O bot resolve de forma simples e com poucos passos o problema do usuário? - O bot resolve o problema do usuário mais fácil/rápido/melhor que experiências alternativas? - O bot roda em diferentes dispositivos e plataformas? - Os usuários sabem naturalmente como agir com o bot e utilizá-lo?
  • 10.
  • 11.
  • 12. Bot Framework Bot Framework é um serviço/SDK da Microsoft Bot Framework é uma das várias ofertas da Microsoft para construer um bot complete Outras inclusas: LUIS, APIs de Speech, Azure, e mais
  • 13. Logic Your bot Bot Builder SDK (Node.js + c#) LUIS Web service
  • 14. Portal Bot Connector Send/receive messages Store state Translation Telemetry … Your bot Channels
  • 15. Your bot Bot Connector { “type” : “message” , “id” : 68YrxgtB53Y” , “conversationId” : “DphpaFQrDuZDKyCez4AFGcT4vy5aQDjellLGIjB8v18MFtb”, “language” : “en” , “text” : “You can say “/ order” to order!”, “attachments” : [ ], “from” : { “name” : “+12065551212”, “channelId” : “sms”, “address” : “ +12065551212”, “id” : “Ro52hKN287”, “isBot” : false }, “channelData” : { SMS data here }, … }
  • 16.
  • 17.
  • 18.
  • 19. Bot Connector service - Serviço responsável pela troca de mensagens no canais de comunicação do bot, essa configuração é feita no Azure; - Utiliza REST/Json em um ambiente https Client libraries - O Bot framework providencia bibliotecas de cliente (Bot Builder SDK) que podem ser utilizadas para programar tanto em C# or Node.js. O SDK suporta: 1. Diálogos que encapsulam lógicas 2. Questões de SIM/NÃO 3. Poderosos frameworks de IA como o LUIS e mais
  • 20. Channel - O canal é a comunicação entre o Bot Framework e os apps de comunicação, como: • Skype • Slack • Facebook Messenger • Office 365 mail • Microsoft Teams • Cortana • Others - Configuramos os canais no Portal do Azure
  • 21. Activity - O serviço do Bot Connector troca informações entre o bot e o canal (usuário) passando um objecto do tipo Activity Activity type Description message Representa a comunicação entre o bot e o usuário conversationUpdate Indica que o bot foi adicionado a uma conversa, outro membros foram adicionados ou removidos da conversa, ou os metadados da conversa mudaram contactRelationUpdate Indica que o bot foi adicionado ou removido da lista de contatos do usuário typing Indica que o bot está compilando uma resposta ping Representa uma tentative de determiner se o endpoint do bot está acessível deleteUserData Indica para o bot que o usuário solicitou que o bot delete toda informação de usuário que possa estar armazenada endOfConversation Indica o fim da conversa
  • 22. State Data O “estágio” ou status da informação pode servir para vários propósitos: - Determinar onde a conversa anterior foi interrompida - Cumprimentar um usuário - Salvando as preferências do usuário você pode customizar o modo como seu bot irá responder na próxima conversa Bot State Service - Possibilita ao seu bot armazenar e recuperar o estágio/status do seu bot e recuperar informações relacionadas ao usuário, conversa ou context específico - Utiliza REST e Json - Habilita autenticação e segurança
  • 23. Authentication Tanto o serviço de Bot Connector como o serviço de Bot State habilitam a autenticação utilizando tokens JWT Bearer (Json) JWT Bearer tokens JSON Web Token (JWT) é um modelo open source para definição de segurança e transmissão de dados entre partes utilizando decodificação e fazendo parse de objetos JSON A informação pode ser verificada e confiável por que é assinada digitalmente
  • 25. Utilizando HTTPS e Bot Framework Authentication Para garantir que o endpoint do seu bot será acessado apenas pelo conector do Bot Framework, você deve configurar o endpoint para que utilize apenas HTTPS registrando seu bot Configurando a autenticação Uma vez que seu bot foi registrado, você deve especificar o App Id e senha no web.config do seu bot: <appSettings> <add key="MicrosoftAppId" value="_appIdValue_" /> <add key="MicrosoftAppPassword" value="_passwordValue_" /> </appSettings>
  • 26. A autenticação utilizando o Bot Builder SDK for .NET Para autenticar seu bot utilizando as informações que você configurou no web.config, especifique o atributo [BotAuthentication] sem parâmetros
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. • Título • Subtítulo • Botão de ação • Imagens
  • 32. Card type Description AdaptiveCard Combinação de texto, fala, imagens, botões e campos de input de dados AnimationCard Reproduz GIFs e videos curtos AudioCard Pode tocar áudios HeroCard Tipicamente contém uma única imagem grande, um ou mais botões e texto ThumbnailCard Tipicamente contém uma imagem miniature ReceiptCard Tipicamente tem dados sumarizados SignInCard Tipicamente contém textos e botões para login VideoCard Card para rodar videos
  • 33.
  • 34.
  • 35.
  • 36. - Interceptar mensagens; - Enviar mensagens pró-ativas; - Criar handlers globais para ações próprias; (cancelar, abortar)