Microsoft Bot Framework v4 – Primeiros Passos em .Net Core

Microsoft Bot Framework v4 – Primeiros Passos em .Net Core
5 anos atrás

Introdução

Esse artigo tem como objetivo introduzir qualquer pessoa no mundo de desenvolvimento de robôs digitais, ou Bots. Não há necessidade de qualquer experiência com linguagens de programação ou com as ferramentas utilizadas ao longo desse artigo, uma vez que são evidenciados todos os passos para a instalação das ferramentas, criação do projeto, programação do Bot e o teste do seu funcionamento.

Preparação do ambiente de desenvolvimento

Para o desenvolvimento do seu primeiro Bot em .Net, você deverá instalar o Visual Studio 2017 (Pode ser o Community) com as seguintes Cargas de trabalho:

  • NET and web development
  • .NET Core cross-platform development

Também será necessário ter instalado o IIS Express para debugar e testar a aplicação. Você pode baixá-lo por aqui.

Download do Bot Framework Emulator 4

A Microsoft desenvolveu um aplicativo Desktop para testar e debugar Bots. Usaremos esse aplicativo para testarmos o funcionamento do seu primeiro Chatbot.

Para fazer o download desse app, acesse esse link e baixe a versão mais recente do Bot Framework Emulator.

img

Ao baixar seu instalador, execute-o e instale o programa. Ao finalizar a instalação, o emulador deve ser aberto automaticamente

img
img.png

Após instalado o Bot Framework Emulator, podemos iniciar o desenvolvimento do Bot.

Obs: Não é necessário fechar o emulador, uma vez que usaremos ele para testar o funcionamento do Bot ao terminar a programação.

Git

O projeto desenvolvido nesse artigo estará disponível no GitHub. Clique aqui para abrir no repositório.

Desenvolvimento do Bot

Criação do projeto

Para o desenvolvimento do Bot, vamos criar um projeto em ASP.NET Core Web Application:

  1. Abra seu Visual Studio
  2. No menu, clique em Arquivo | Novo | Projeto.
img.png
  1. Selecione Visual C# | .Net Core | Aplicativo AST.NET Core. Digite um nome para seu projeto e clique em OK.
img.png
  1. Selecione API e clique em OK.
a.png

Instalação dos pacotes NuGet e configuração inicial

Para desenvolvermos um Bot usando essa plataforma, precisamos utilizar alguns pacotes disponibilizados pela Microsoft.

  1. Ainda no projeto recém-criado, clique com o botão direito no projeto ASP.NET API e clique em Gerenciar Pacotes do NuGet.
a.png
  1. No diálogo do NuGet, clique em Procurar.
a.png
  1. Clique em Incluir pré-lançamento, e em seguida pesquise por Bot.Builder.Integration.AspNet.Core. Instale o pacote.
a.png
  1. Agora, clique com o botão direito no projeto e, em seguida, clique em Propriedades.
a.png
  1. Na aba de propriedades, navegue até Depurar. Na opção Iniciar Navegador, substitua o termo values por messages.
a.png

Programando o Bot

  1. Clique com o botão direito no projeto e navegue até Adicionar | Nova Pasta. Renomeie a pasta para Bots.
a.png
  1. Na nova pasta, clique com o botão direito e selecione Adicionar | Classe
a.png
  1. No diálogo de criação, certifique-se que o item Classe está selecionado. Dê um nome para a classe e clique em Adicionar.
a.png
  1. Na nova classe, importe alguns namespaces. Na primeira linha de código, insira essas três linhas:
    • using Microsoft.Bot;
    • using Microsoft.Bot.Builder;
    • using Microsoft.Bot.Schema;
a.png
  1. Herde a interface IBot na sua classe do Bot.
a.png
  1. O Visual Studio vai apontar um erro. Clique com o botão direito na implementação da interface, selecione a opção Ações Rápidas e Refatorações e aceite a primeira sugestão do Visual Studio.
a.png
a.png
  1. Essa opção irá gerar uma Task chamada OnTurn. Adicione o modificador async nesse método e substitua o seu código por:

            if (turnContext.Activity.Type == ActivityTypes.Message)

{

string mensagemDoUsuario = turnContext.Activity.Text;

await turnContext.SendActivity($”[Primeiro Bot] Você enviou a mensagem: {mensagemDoUsuario}”);

}

a.png
  1. Ao final, sua classe Bot deverá estar parecida com a imagem acima. O código inserido verifica se o usuário enviou uma mensagem para o Bot. Caso essa condição seja correspondida, ele guarda a mensagem do usuário em uma variável e logo em seguida envia uma mensagem reescrevendo o conteúdo da variável.
  2. Para a API do Bot funcionar, devemos alterar também sua classe de Primeiro, navegue até a classe Startup, no Gerenciador de Soluções.
a.png
  1. Importaremos outros dois namespaces para essa classe. Na primeira linha de código, adicione:
    • using Microsoft.Bot.Builder.BotFramework;
    • using Microsoft.Bot.Builder.Integration.AspNet.Core;
    • using PrimeiroBotDemo.Bots;
a.png
  1. O próximo passo exigirá muitas alterações no código. Para facilitar esse processo, cole o código a seguir dentro da classe:

public string ContentRootPath { get; private set; }

public Startup(IHostingEnvironment env)

{

ContentRootPath = env.ContentRootPath;

}

public void ConfigureServices(IServiceCollection services)

{

services.AddMvc();

var builder = new ConfigurationBuilder()

.SetBasePath(ContentRootPath)

.AddJsonFile(“appsettings.json”)

.AddEnvironmentVariables();

var config = builder.Build();

services.AddSingleton(config);

services.AddBot(options =>

{

options.CredentialProvider = new ConfigurationCredentialProvider(config);

});

}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)

{

if (env.IsDevelopment())

{

app.UseDeveloperExceptionPage();

}

app.UseBotFramework();

app.UseStaticFiles();

app.UseMvc();

}

a.png

Testando seu primeiro Bot

  1. Com seu projeto configurado e seu código pronto, podemos compilar e testar seu Bot. Na aba superior do Visual Studio, clique em IIS Express.
a.png
  1. Como é a primeira compilação do seu projeto, esse processo pode demorar alguns instantes. Espere até que seu Visual Studio termine de compilar e executar o projeto. Seu navegador vai ser iniciado também, e, ao executar o programa, vai exibir uma página de erro. Não se preocupe com isso, o navegador não vai ser utilizado para debugar o bot.
a.png
  1. Abra o Bot Framework Emulator. Navegue até File | New Bot Configuration.
a.png
  1. No diálogo, digite um nome para seu Bot. No campo de Endpoint URL, cole o endereço do navegador aberto pelo Visual Studio. Clique em Save and connect.
a.png
a.png
  1. Salve a configuração para conexão com seu Bot em alguma pasta de sua preferência.
a.png
  1. Se tudo foi feito corretamente, será aberta uma nova aba no emulador. Você já pode enviar uma mensagem para seu primeiro Bot para ver seu funcionamento.
a.png

Conclusão e próximos passos

Agora que você já criou seu primeiro Bot e teve seu primeiro contato com a plataforma da Microsoft para desenvolvimento de Bots em ASP.NET Core, você pode se aprofundar mais no mundo dos Bots para começar a desenvolver serviços cada vez mais inovadores.

Os Bots estão em alta quando se fala em desenvolvimento de software e tendem a dominar grande parte dos canais de atendimento, assistentes pessoais, dentre muitos outros mercados. Ter conhecimento nessa área é um potêncial divisor de águas para sua vida profissional, o qual você deve levar em consideração quando estiver disposto a aprender novas tecnologias. Afinal, conhecimento nunca é demais, ainda mais quando você pode agregar valor ao seu trabalho.

Para continuar seus estudos nesse mundo, você pode começar a desenvolver seus Bots com funções simples, como calcular algum valor ou analisar alguma frase. Você também pode explorar outras funcionalidades dos Bots, como diálogos e cards. Ainda também procure por Cognitive Services, outro serviço disponibilizado pela Microsoft através do Azure que democratiza o acesso à inteligência artificial. Essa área é muito utilizada pelos Bots também, logo é importante ter pelo menos algum conhecimento nesse assunto.

Ao final desse artigo, gostaria de agradecer a todos que o leram. Se for de seu interesse, deixe algum comentário, seja uma dúvida, sugestão ou feedback.

Konia

Konia