Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the acf domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6131

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the all-in-one-seo-pack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6131

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-user-avatar domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6131
Tutorial: lanza tu primera skill multiplataforma con Jovo (Parte 2) - Planeta Chatbot
jovo-chatbot

Tabla de contenidos

Í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 *