Vamos criar uma intent de pesquisa para obter o termo de pesquisa que nossos usuários desejam iniciar sua pesquisa.
Passo a passo
Clique em Intents no menu esquerdo.
No "Default Welcome Intent" hover o seu cursor até o lado direito do mesmo.
Clique em Add follow-up intent
Clique em Custom
Agora você será levado para seu novo follow-up intent criado.
Renomeie de Default Welcome Intent - custom para Default Welcome Intent - search
Clique em save.
Clique fulfilment no menu esquerdo.
Vá para o firebase inline editor e atualize seu código para a seguinte forma:
// See https://github.com/dialogflow/dialogflow-fulfillment-nodejs// for Dialogflow fulfillment library docs, samples, and to report issues"use strict";constfunctions=require("firebase-functions");const { WebhookClient } =require("dialogflow-fulfillment");const { Card,Suggestion } =require("dialogflow-fulfillment");process.env.DEBUG="dialogflow:debug"; // enables lib debugging statementsexports.dialogflowFirebaseFulfillment =functions.https.onRequest( (request, response) => {constagent=newWebhookClient({ request, response });console.log("Dialogflow Request headers: "+JSON.stringify(request.headers) );console.log("Dialogflow Request body: "+JSON.stringify(request.body));functionwelcome(agent) {agent.add( `Olá, bem vindo ao app de conversação GDG Cloud. Você gostaria de procurar um organizador por 1.Name ou 2.Skill?`
); }functionfallback(agent) {agent.add(`Eu não entendi`);agent.add(`Desculpe, poderia falar novamente?`); }functiongetSearchTerm(agent) {if (agent.parameters.search_terms ==1) {agent.add(`Qual o nome do organizador do GDG Cloud?`); } else {agent.add(`Qual skill você está procurando?`); } }// Run the proper function handler based on the matched Dialogflow intent namelet intentMap =newMap();intentMap.set("Default Welcome Intent", welcome);intentMap.set("Default Fallback Intent", fallback);intentMap.set("Default Welcome Intent - search", getSearchTerm);agent.handleRequest(intentMap); });
{"name": "dialogflowFirebaseFulfillment","description": "This is the default fulfillment for a Dialogflow agents using Cloud Functions for Firebase","version": "0.0.1","private": true,"license": "Apache Version 2.0","author": "Google Inc.","engines": {"node":"~6.0" },"scripts": {"start":"firebase serve --only functions:dialogflowFirebaseFulfillment","deploy":"firebase deploy --only functions:dialogflowFirebaseFulfillment" },"dependencies": {"actions-on-google":"2.0.0-alpha.4","firebase-admin":"^4.2.1","firebase-functions":"^0.5.7","dialogflow":"^0.1.0","dialogflow-fulfillment":"0.3.0-beta.3" }}
Explicação:
Como havíamos perguntado aos nossos usuários como eles querem buscar por uma pessoa, precisamos dar uma resposta.
Para fazer isso, vamos criar uma follow-up intent para a "intenção de boas-vindas padrão".
Para criar uma follow-up intent, basta ir até a página inicial da intent e passar o mouse sobre a follow-up intent, dadas as opções, vamos selecionar a 'custom intent ' e renomear nossa follow-up intent para 'Default Welcome Intent - search'
Mas o que é esta tal de Follow-up intent?
E se você quisesse adicionar uma estrutura para seus apps de conversação?
E se quiséssemos adicionar if, else, switch cases?
Caso for simfaça algo
Se não faça outra coisa
Os follow-up intents te permitem fazer perguntas que devem vir após a primeira estarem dentro do mesmo grupo lógico, sem ter que gerenciar os contextos de forma manual.