Desarrollo de una aplicación de ChatBot con React Native y DialogFlow

Parte 3. Utilizando el SDK de DialogFlow en React Native.

Edgar Talledos
Edgar Talledos
3 min readApr 20, 2018

--

Hemos creado una pequeña aplicación multiplataforma en ReactNative con respuesta automática gracias a DialogFlow y su increíble API, por lo cual decidimos hacer un tutorial.

Este tutorial consta de 3 partes:

Parte 1. Instalación de dependencias y configuración.

Parte 2. Añadiendo estilos a la aplicación y ocultando información sensible.

Parte 3. Utilizando el SDK de DialogFlow en React Native (estamos aquí).

Probando el SDK de dialogflow con nuestra aplicación

Vamos a probar nuestro chatbot integrando con el SDK de dialogflow, añadimos el módulo de la siguiente forma:

También es importante añadir nuestras variables de entorno, para esto necesitamos conocer nuestro TOKEN de dialogflow, en las siguientes imágenes les muestro como obtenerlas.

En la parte de abajo se encuentran nuestros TOKENS, utilizaremos el Developer access token.

Creamos el archivo .env en la raíz de nuestro proyecto y agregamos lo siguiente:

Enviando una petición a nuestro bot

Para esto vamos a utilizar async/await, esto nos permitirá crear una promesa asíncrona y esperar hasta que haya respondido nuestra solicitud, ya que no hacerlo de esta forma puede regresarnos objetos no definidos (undefined).

Para hacerlo vamos a crear el método sendMessage de la siguiente forma:

Esto nos permitirá imprimir la respuesta de nuestro bot y saber que si se está efectuando la petición.

Lo añadimos al método onSend con el método done(), para así esperar la respuesta.

Y checamos nuestra terminal, veremos algo similar a esto:

Genial, todo parece funcionar de maravilla, ahora vamos a añadirlo al chat y dejar que el usuario ponga el texto que quiere.

Enviando peticiones a nuestro chatBot directamente desde la aplicación

Antes que nada, vamos a añadir el campo de user a nuestro state, para que así lo podamos controlar mejor.

Vamos a separar un poco nuestro código, primero vamos a crear el método appendToChat para mostrar los mensajes en el chat.

Vamos a añadir una dependencia, que nos servirá para definir correctamente la _id del mensaje, esta es uuid, instalamos con la siguiente línea:

Ahora el método sendQuery para enviar los mensajes que escriba el usuario.

Si observan, le hemos puesto el cuerpo completo al chat y hemos solamente utilizado para la solicitud (textRequest) el puro texto del chat. Esto nos permite obtener la solicitud de forma precisa.

Actualizamos el método onSend.

Ahora probamos nuestro chatbot.

Listo, trabajo hecho. Esta parte está en las etiquetas v0.1.3 el principio y en v0.1.4 el final.

Puedes checar todo el tutorial en:

Recuerda que consta de tres partes:

Parte 1. Instalación de dependencias y configuración.

Parte 2. Añadiendo estilos a la aplicación y ocultando información sensible.

Parte 3. Utilizando el SDK de DialogFlow en React Native (estamos aquí).

Síguenos para recibir más tutoriales como este o más artículos interesantes.

--

--

Edgar Talledos
Edgar Talledos

La única manera de lidiar con este mundo sin libertad, es volverte tan absolutamente libre que tu mera existencia sea un acto de rebelión