Essa aplicação foi proposta de um desafio da Digital Innovation One, chamado de Tech Challenge do Carrefour, onde o intuito dessa aplicação, é facilitar a forma de encontrar um produto do e-commerce via Telegram.
O Chatbot E-commerce usa vários projetos de código aberto para funcionar corretamente:
- axios - Promise based HTTP client for the browser and node.js!
- Dialogflow API: Node.js Client - Dialogflow API client for Node.js
- dotenv - Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env.
- JSON Server - Get a full fake REST API with zero coding in less than 30 seconds
- node.js - evented I/O for the backend
- Node.js Telegram Bot API - Node.js module to interact with the official Telegram Bot API.
Instale as dependências e inicie o servidor.
$ cd chatbot
$ npm install
$ npm run start
$ npx json-server db.json
Para variáveis de ambiente... Crie um arquivo .env na raiz do projeto.
$ ACCESS_TOKEN=access token Telegram API
Para criar o agente, acesse https://dialogflow.cloud.google.com/#/login, e efetue o login usando a conta do Google.
Depois de logado, clica em Create new agent, como mostra na imagem abaixo:
Crie o novo ao seu agente, e coloque o DEFAULT LANGUAGE como Portuguese (Brazilian) - pt-br, como mostra na imagem abaixo:
Depois de ter criado seu agente, Clique no botão de configurações, como mostra na imagem abaixo:
Clique em Export and Import
Clique em Import from zip, selecione o arquivo zip que está no projeto, e adicione no seu agente.
Depois de ter finalizado, o importe do zip, Clique no botão de configurações novamente, e clique no Service Account, como mostra na imagem abaixo:
Vai abrir uma guia nova do navegador, e depois clique no Email, como mostra na imagem abaixo:
Vai em Chaves, clica em ADICIONAR CHAVE, e depois em CRIAR NOVA CHAVE, como mostra na imagem abaixo:
Crie a chave privada no formato JSON, e depois adicionar o arquivo json na pasta raiz do projeto, vai no arquivo src/dialogflow.js, adicione o nome do arquivo json no const configs = require("./../chatbox-carrefour-aort-f7c880046e24.json"), que está na linha 2.