¿Qué comemos hoy? Cocinando con Watson en 10 minutos. Parte IV

By 17/01/2018

Jaime Requejo
Arquitecto de Soluciones Cognitivas, IBM

Invocación del chatbot desde una aplicación móvil

 Como ya os comenté en el anterior artículo, …

¿Y si quisiéramos acceder a nuestra conversación desde una aplicación de terceros, como por ejemplo Telegram?

Vamos a crear una aplicación que integre Telegram con nuestra conversación, de manera que desde el teléfono podamos conversar con nuestro chat bot.

Lo primero que tenemos que hacer es bajarnos la aplicación de Telegram en el teléfono, en el PC, ó directamente desde un navegador.

Android:  https://play.google.com/store/apps/details?id=org.telegram.messenger
iOS:  https://itunes.apple.com/app/telegram-messenger/id686449807

Una vez bajada nos daremos de alta en la misma. Vamos a crear un nuevo ChatBot en telegram, para lo cual buscamos @botfather

Creamos un ChatBot, ejecutando el comando de creación de chatbot, /newbot

Le damos un nombre, por ejemplo MINOMBRE_Cognitive, y un usuario, por ejemplo MINOMBRE_MasterWatson_bot

Guardar el token que nos proporciona que necesitaremos posteriormente.

Creación de una aplicación Node-RED

Para crear la aplicación, vamos a utilizar Node-RED, un entorno de programación que permite conectar dispositivos de hardware, API y servicios online usando un editor basado en el navegador, de forma gráfica.

Para ello nos vamos a nuestro panel de control de nuestra cuenta de IBM Cloud.

Creamos un nuevo servicio, buscando Node-RED.

Al crear el servicio, la instancia se inicia, cuando esté iniciada.

 

Por ejemplo podemos usar MasterWatson / ibm4youu

  

Cuando accedemos veremos.




Instalar los nodos de Telegram en Node-RED

Para poder integrar Telegram, necesitamos instalar en nuestro Node-red los nodos de Telegram que nos permitirán configurar de forma gráfica los nodos de conexión entre Telegram y nuestra conversación, sólo tendremos que acceder a la paleta de Node-RED e instalarlos.

     

Como resultado veremos en nuestra paleta los nodos  de Telegram que podremos utilizar.

En primer lugar para ver cómo funciona, vamos a automatizar la respuesta del bot que creamos en Telegram, para que nos responda lo mismo que le decimos nosotros.

Para lo cual definiremos un comando de Telegram que se llama /echo, y se lo pasaremos a nuestro Chatbot de Telegram @MasterWatson_bot

Usaremos el Token que nos proporcionó Telegram al crear nuestro Chatbot, y apuntamos…

Para testearlo procedemos a desplegarlo:

Chequeando Telegram en Node-RED

Accedemos a Telegram, usando el teléfono, o la aplicación web.

Y escribimos.

El Chatbot nos responde lo mismo que lo que escribimos!!!!!, bien, Funciona.

Integrar Telegram con Watson Conversation

Vamos a integrar Telegram con Watson Conversation usando Node-RED, para que Telegram sea el interface de usuario de nuestro Chatbot de cocina.

Utilizamos tres nodos más, dos que usaremos para preparar la conversación, pasándole los parámetros que identifican la conversación y otro nodo que define la propia conversación.

El nodo naranja con una f, es el nodo de función JavaScript, lo encontramos en la paleta debajo de la sección function:

Ya sólo nos queda utilizarlo, para lo cual iniciamos nuestro Chatbot desde Telegram.

 

Una vez que nos metemos en una aplicación de ChatBot como Telegram, se nos ocurre la posibilidad de enriquecerlo con más funcionalidad, por ejemplo, ¿y si en vez de escribir, le mando el típico mensaje de voz?, ¿quién transcribe esa voz a texto para que me entienda?, ¿Y si la conversación necesita la ubicación del teléfono para poder contestar?, ¿podríamos mandar fotos, y en función de la misma contestar cosas diferentes?, esto lo podremos ver en el próximo artículo de esta serie……

¿Quieres saber más? ¡Echa un vistazo a la web para desarrolladores!

Crea tu cuenta IBM Cloud Lite sin tarjeta de crédito y por tiempo ilimitado

[autopilot_shortcode]