¿Qué comemos hoy? Cocinando con Watson en 10 minutos. Parte IV
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……