-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapp.js
47 lines (37 loc) · 1.48 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
const path = require('path');
const GoogleAssistant = require('./lib/google/index');
const express = require('express');
const app = express();
require('dotenv').config();
const config = {
auth: {
// Esta es la ruta donde se encuentra el .json con los datos de autenticación de Google
keyFilePath: path.resolve(__dirname, 'auth/client.json'),
// Esta es la ruta donde se almacenará el token que se genere al autenticar por primera vez.
savedTokensPath: path.resolve(__dirname, 'auth/tokens.json')
},
conversation: {
lang: 'es-MX' //Idioma del Google Assistant
},
};
const assistant = new GoogleAssistant(config.auth);
app.get('/twilio',(req,res)=>{
//Recogemos el valor de SpeechResult que envía Twilio.
let busqueda = req.query.SpeechResult;
console.log(`Vamos a buscar: "${busqueda}"`)
//Se lo asignamos a la conversación con el Google Assistant con la propiedad textQuery
config.conversation.textQuery = busqueda;
//Hacemos la función para ejecutar la conversación y regresar en formato de TwiML la respuesta.
const realizarBusqueda = (conversation)=>{
conversation
.on('response', resultados=>{
console.log(`Resultado(s) encontrados: "${resultados}"`)
res.send(`<Response><Say language="es" voice="woman">${resultados}</Say></Response>`)
})
}
//Ejecutamos el asistente.
assistant.start(config.conversation,realizarBusqueda);
})
app.listen(process.env.API_PORT,()=>{
console.log("Encendido en el puerto " + process.env.API_PORT)
})