Curso de Bots

angelobelchior
5 min readOct 3, 2017

--

O incrível mundo dos Bots

[ATUALIZAÇÃO]

Eu ia continuar esse curso no meu canal do Youtube, porém, para nossa alegria a Microsoft criou a Maratona Bots! https://ticapacitacion.com/register/Enrolment/EnrolNewUser/bo
tspt

Com a Maratona Bots, você terá acesso a um conteúdo desenvolvido por MVPs e profissionais da Microsoft e aprenderá a desenvolver agentes de conversação interativos e inteligentes. O treinamento introduz ao desenvolvimento de bots, utilizando o Bot Framework, consumo de API de Dados e integração com Cognitive Services, a plataforma de inteligência da Microsoft. Tudo isso 100% online e gratuito. Junte-se à comunidade e entre no universo dos robôs! Para mais informações, acesse o a nosso portal e confira todos os detalhes do curso.

Esse post servirá de apoio ao curso de Bots.

Ele será atualizado sempre que disponibilizarmos novos conteúdos.

Aqui você vai encontrar todos os links, documentações e arquivos de apoio para que você consiga seguir o curso sem ter que se preocupar.

Importante

O Curso está em desenvolvimento, sendo assim, para não perder nada, assine meu canal :)

Acesse o link acima e clique em Inscreva-se \o/

Para receber uma notificação toda vez que eu postar um novo vídeo, clique no sino ao lado do botão “Inscrito”

Se puder, ajude a divulgar o canal. Agradeço de Coração :)

Visão Geral

Nesse curso eu utilizo tecnologias Microsoft como BotFramework, Cognitive Services, Azure, Visual Studio, etc. Aqui eu assumo que você tenha noções de programação, conheça C# e Asp.Net MVC. Tecnicamente os códigos apresentados não são complexos, eu procuro sempre me apoiar nos conceitos e faço os exemplos da forma mais objetiva possível (Famoso Step by Step, Uhhh Babyyy). O seu feedback é essencial pra melhoria desse curso.

Num resumo básico, esse curso de Bots vai tratar de:

  • Canais (Chats): Messenger, Telegram, Skype, Slack, Teams, WebChat, Emulator, etc.
  • Backend do Bot: Serviço (site) hospedado onde serão tratadas todas as mensagens enviadas pelo usuário através de um canal. Nesse caso, o Bot nada mais é do que um WebApi, com apenas uma Controller e dentro apenas uma Action. Simples assim. E nessa Action são gerenciadas as mensagens com o canal.
  • BotBuilder: SDK usado pelo Backend do Bot. Nesse SDK podemos trabalhar diálogos, Form Flows (Formulários) e gerenciar a memória do Bot. No caso da memória do Bot, dividimos em duas partes: A memória do usuário e a memória da conversação. Na memória do usuário, podemos armazenar coisas que são específicas do usuário, como e-mail, CPF, Id do usuário no CRM, data de nascimento, dados que são referentes ao usuário e que não mudarão. Essa memória não expira. Na memória da conversação, que expira em algumas horas, você pode armazenar informações voláteis, como o sabor da pizza que o usuário está pedindo, até a cidade na qual ele quer saber a previsão do tempo, por exemplo. Você pode, manualmente criar e remover dados da memória.
  • Bot Emulator: Uma das coisas mais legais de se trabalhar com o BotFramework é o fato de ter esse emulador de canal. Isso facilita muito por que não é preciso hospedar o Bot na núvem e nem criar um canal específico para testar/debugar. É uma mão na roda :)
  • Respostas ao Usuário: Você vai poder responder ao usuário com texto puro ou cards. Cards são tipos de respostas mais rebuscadas, onde é possível agrupar informações, enviar botões, imagens, vídeos, gif, etc. Dessa maneira, você pode dar uma usabilidade muito boa ao seu bot.
  • Adaptive Cards: É um esforço da Microsoft para criar cards mais interativos. Eu achei sensacional, tanto que tem um vídeo só pra ele no curso. É algo muito novo, nem todos os canais aceitam os recursos que o Adaptive Card tem, mas já é possível vislumbrar um futuro próximo no qual o bot vai conseguir trabalhar com formulários dinâmicos, respostas ricas, etc. Vale a pena ficar de olho :)
  • Publicação do Bot (Ou melhor, Backend do Bot): Como eu citei acima, o Backend do Bot nada mais é do que um WebApi. Sendo assim, você vai hospedá-lo em qualquer servidor. Dentro do site https://dev.botframework.com/ você vai criar o seu serviço, apontar para a url segura (https) do seu Backend do Bot e configurar os canais. A grande sacada disso é que, com apenas um Backend você pode atender vários canais. Em resumo, em um único lugar você trata Messenger, Skype, Slack, Teams, etc. Atualizou um único ponto, todos os canais estarão atualizados. Fez merda na Backend do Bot… todos os canais estarão cagados ;p
  • Configuração de Canais (Vídeos em Produção): Acima eu cito que você tem um ponto único do Bot e que precisa configurar cada canal. Isso acontece por que cada empresa tem sua forma de criar Bot. O Telegram é o mais simples e mais divertido de todos: Você chama um Bot para criar um Bot. Ao criar você pega uma chave e configura no site do BotFramework. O Facebook Messenger é mais burocrático, você precisa criar uma página e configurar os webhooks, mas não se preocupe, tem vídeos mostrando como fazer cada um deles. Coloquei o Skype também, que é bem simples configurar mas requer aprovação (Talvez eu não consiga mostrar funcionando nos próximos vídeos) :)
  • Adicionando inteligência ao Bot (Vídeos em Produção): Como você pode ter percebido, tudo que foi criado até então não tem nenhuma inteligência. Eu organizei o curso dessa forma para podermos dedicar vídeos específicos para conhecermos os Serviços Cognitivos da Microsoft. Esses vídeos ainda estão sendo produzidos, mas posso garantir que, a partir desses serviços, que são simples de usar, e tem planos gratuitos no Azure, conseguiremos dar inteligência ao nosso Bot. Aguardem \o/

LINKS

Serviço onde serão configurados os canais para o Bot: https://dev.botframework.com/

Framework para criação de Bots: https://github.com/Microsoft/BotBuilder

Documentação do BotFramework: https://docs.microsoft.com/en-us/bot-framework/

Adaptive Cards: http://adaptivecards.io/

Link para baixar o Bot Emulator (Baixe sempre a versão mais atual): https://github.com/Microsoft/BotFramework-Emulator/releases

Templates do Bot para Visual Studio: https://docs.microsoft.com/pt-br/bot-framework/dotnet/bot-builder-dotnet-quickstart

Serviços Cognitivos da Microsoft: http://microsoft.com/cognitive

Serviço Cognitivo para Processamento de Linguagem Natural (LUIS): https://www.luis.ai/home

Documentação do LUIS: https://docs.microsoft.com/en-us/azure/cognitive-services/LUIS/Home

Código Fonte do Bot: https://github.com/angelobelchior/CursoBot

Link para a Playlist no Youtube: https://www.youtube.com/watch?v=x0rpv2-MtRo&list=PLNTCwkT5owTREcmB3d7Pu1LTYZl98dRLP

Tutorial Bots Parte 1: Começando:
https://www.youtube.com/watch?v=tWtTwCj5NjQ

Tutorial Bots Parte 2: Montando o Ambiente:
https://www.youtube.com/watch?v=x0rpv2-MtRo

Tutorial Bots Parte 3: Trabalhando com Cards de Resposta (Thumb Card e Hero Card):
https://www.youtube.com/watch?v=wF81hoszAws

Tutorial Bots Parte 4: Trabalhando com Animation Card, Video Card, Audio Card e Carrossel:
https://www.youtube.com/watch?v=dn328R6kpd4

Tutorial Bots Parte 5: Trabalhando como Receipt Card e Login Card: https://www.youtube.com/watch?v=KIFrpWFtrRs

Tutorial Bots Parte 6: Trabalhando com Adaptive Cards: https://www.youtube.com/watch?v=zWzWXD7m5us

Como já disse acima, o curso está em produção. Aos poucos vamos liberando as aulas. #SemPânico

Todas as imagens usadas nesse post e nos vídeos foram tiradas de https://unsplash.com/

Atenção: Homens Trabalhando. E se divertindo :)

--

--

angelobelchior

Microsoft MVP, Xamarin Moonwalker, Monkey Nights Co-Founder, .Net Dev, Lead Software Developer and Speaker