Os chatbots estão na moda e há até quem diga que poderão fazer esquecer as aplicações tal como as conhecemos. A revolução dos chatbots já começou e o Pplware quer acompanhar de perto a evolução deste “novo mundo” de oportunidades.
Hoje ensinamos a criar um simples chatbot no Facebook com o Wit.ai e Heroku, através do node.js.
O que são chatbots?
Os chatbots não são nada mais que software que tenta “simular” um ser humano na conversação e interação com as pessoas. Este “novo” conceito pode ser aplicado aos mais diversos serviços/plataformas, tendo sempre como fonte uma boa base de conhecimento que pode ser criada com recurso à inteligência artificial.
Arquitetura a desenvolver
Basicamente, pretendemos que qualquer mensagem enviada através do Facebook seja reencaminhada para o Wit.ai e para a API (meteorologia) através do Heroku.
Os dados meteorológicos são obtido através de uma 3rd party API disponibilizada pela Yahoo.
Configurar o Wit.ai
O Wit.ai é uma plataforma para construção de chat bots que foi adquirida pelo Facebook após 18 meses da sua fundação. Para configurar o Wit.ai devem:
1) Criar uma conta no Wit.ai em https://wit.ai
2) Criar uma nova app
3) Criar uma história
Por enquanto vamos criar uma história de resposta rápida (sim/não)
- Entrar na página “Stories”
- Clicar no botão “Create a story”
- No campo “User says” escrever “Olá”
- No valor do “intent” colocar “greetings”
- Clicar no botão “Bot sends”
- No campo “The bot says…” escrever “Olá, gostas de falar com máquinas?”
- Clicar no botão “Set quick replies”
- No campo “Type a quick reply” escrever “Sim”, pressionar a tecla “Enter”, escrever “Não” e pressionar a tecla “Enter”
- Clicar no botão “Bot sends”
- Clicar em “Add new entity”, escrever “yes_no” e pressionar duas vezes seguidas na tecla “Enter”
- No campo “Value” escrever “yes”
- Clicar no botão “Bot sends”
- No campo “The bot says…” escrever “Boa! Olha, em breve vou saber dizer o tempo.”
- Clicar no botão “Não”
- Clicar em “Add new entity” e selecionar a opção “yes_no”
- No campo “Value” escrever “no”
- Clicar no botão “Bot sends”
- No campo “The bot says…” escrever “Ohh que pena :(“
- Clicar no botão “Save Story”
- Clicar no separador “Settings“
- Na secção “API Details” localizar o campo “Server Access Token“
- Guardar o token para ser usado mais tarde no Heroku
Configurar o Heroku
O Heroku é uma (PaaS – Platform as a Service) que suporta várias linguagens de programação tendo sido adquirida pela Salesforce.com em 2010.
1) Fazer o clone deste repositório para a máquina local
- NOTA #1: utilizei o Git Shell no Windows 10
- NOTA #2: o Git Shell vem incluído no GitHub Desktop (https://desktop.github.com)
- NOTA #3: é necessário instalar o Heroku CLI (https://devcenter.heroku.com/articles/heroku-cli#download-and-install)
git clone https://github.com/SandroMiguel/messenger-bot-witai-tutorial witai_facebook
2) Entrar na pasta do projeto
cd witai_facebook
3) Instalar as dependências
npm install
4) Criar uma conta no Heroku em https://heroku.com
5) Enviar a aplicação para o Heroku
- Efetuar o login no Heroku
heroku login
- Criar uma aplicação no Heroku
heroku apps:create chatbot-sandro
- Fazer o push do bot para o Heroku (deploy)
git push heroku master
- Definir o token do Wit.ai no Heroku
- O token fornecido anteriormente no Wit.ai deve ser configurado no Heroku
NOTA: também é possível configurar as variáveis de ambiente no dashboard do Heroku através da página “Settings” clicando no botão “Reveal Config Vars”
heroku config:set WIT_TOKEN="F3PN6IUL574DXE3ENCBQQ4SWCYPQHILL"
- Abrir a aplicação no Heroku
heroku open
- Guardar este URL (ex.:https://chatbot-sandro.herokuapp.com/)
O Heroku já comunica com o Wit.ai !!!
Configurar o Facebook
Vamos configurar o Messenger do Facebook para comunicar com o chat bot.
- Criar uma conta no Facebook Developers em https://developers.facebook.com
- Criar uma nova página no Facebook em https://www.facebook.com/pages/create
NOTA: Também se pode usar uma página criada anteriormente.
- Criar uma nova app em https://developers.facebook.com/apps
- Configurar a app do Facebook
- Adicionar o produto “Facebook Messenger”
- Configurar o Webhooks
- Callback URL: https://your-heroku-app-name.herokuapp.com/webhooks (não esquecer do “webhooks” no final)
- Verify Token: just_do_it
- Selecionar a página em “Select a page to subscribe your webhook to the page events”
- Gerar o token da aplicação do Facebook
- Clicar em “Settings”
- Selecionar a página
- Guardar o token para ser usado mais tarde no Heroku
- Subscrever a página na secção “Webhooks”
- Definir o token da app do Facebook no Heroku
- O token fornecido anteriormente no Facebook deve ser configurado no Heroku
heroku config:set WIT_TOKEN="F3PN6IUL574DXE3ENCBQQ4SWCYPQHILL"
Está tudo pronto para dizer olá ao chat bot!!!
Testar o chat bot
Caso a página do Facebook que foi criada não esteja pública, podemos adicionar um botão de conversação e testar o chat bot desta forma.
Este projeto é um fork de https://github.com/jw84/messenger-bot-witai-tutorial.