jovo-chatbot

Índice

Tutorial: lanza tu primera skill multiplataforma con Jovo.

Empezando el desarrollo

Jovo nos permite separar la funcionalidad de las intenciones en varios archivos llamados handlers, nosotros vamos a utilizar dos, uno para las funciones por defecto de Jovo que llamaremos default.ts y otro específico para la función de decir la cantidad de polen, llamado specific.ts. La carpeta /src quedaría de la siguiente manera:

src  ├── handlers  │ ├── default.ts  │ └── specific.ts  ├── app.ts  ├── config.ts  └── index.ts

Default.ts

Jovo tiene varias intenciones por defecto que se ejecutan en distintos puntos de la skill, para este caso solo vamos a utilizar la función de inicio LAUNCH.

Specific.ts

En este archivo vamos a programar la funcionalidad principal de la skill. Lo primero que necesitamos es la url que vamos a scrapear, que en este caso es la web de servicios de la Comunidad de Madrid, en la sección de polen.

Estructura básica

Podemos utilizar request-native-promise para obtener el html de la página y después con cheerio podemos navegar por él para extraer la información que nos interesa.

Este es el html que tendríamos en este momento:

Ahora hay que filtar los datos que queremos decir al usuario, en este caso será la fecha de los últimos datos del boletín y la primera línea de cada párrafo que indica si el nivel de polen es alto o bajo.

Con esto conseguimos la lista de datos filtrados:

[    'ÚLTIMOS DATOS DISPONIBLES: 30 DE JUNIO DE 2019',   'NIVELES BAJOS DE GRAMÍNEAS CON 5 GRANOS DE POLEN POR METRO CÚBICO DE AIRE',   'NIVELES BAJOS DE OLIVO CON 7 GRANOS DE POLEN POR METRO CÚBICO',   'NIVELES BAJOS DE PLANTAGO CON 1 GRANOS DE POLEN POR METRO CÚBICO DE AIRE'  ]

Y los juntamos separando cada texto con una coma:

ÚLTIMOS DATOS DISPONIBLES: 30 DE JUNIO DE 2019, NIVELES BAJOS DE GRAMÍNEAS CON 5 GRANOS DE POLEN POR METRO CÚBICO DE AIRE, NIVELES BAJOS DE OLIVO CON 7 GRANOS DE POLEN POR METRO CÚBICO, NIVELES BAJOS DE PLANTAGO CON 1 GRANOS DE POLEN POR METRO CÚBICO DE AIRE

Compilar y ejecutar

Y ya está, ya podemos decirle el resultado al usuario! Ejecuta los siguientes comandos para compilar el código y abrir el debugger de Jovo:

// Compilar el código de typescript a javascript  $ tsc// Crear el bundle del código  $ jovo build// Ejecutar el debugger de Jovo  $ jovo run

Accede al enlace del debugger provisto por Jovo y prueba a pulsar el botón “LAUNCH” o “Polen” para probar la skill:

Recapitulando

Hemos visto como separar la funcionalidad de la skill por diferentes handlers que manejan intenciones concretas, hemos utilizado las funciones por defecto de Jovo y hemos creado la funcionalidad pricipal de la skill. En la siguiente parte de este tutorial veremos como exportar y subir la skill a Alexa y Google Assistant.

Quizá te interese también:

Por Pablo Verdugo

Backend Engineer en Swapcard.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *