Este framework que nos permitirá desarrollar bots que se comuniquen con los usuarios y realicen acciones automatizadas y desatendidas como responder a preguntas con ciertas palabras claves, realizar acciones en algún sistema informatizado para dar solución, registrar peticiones de un usuario, etc. Un ejemplo mostrado durante su presentación fue el uso de un bot que se comunicaba con un cliente de Domino’s Pizza recogiendo todos los detalles del pedido, registrando el mismo para que fuera preparado e indicando un tiempo estimado de entrega. A partir de ahí, la imaginación es el límite para aprovechar este framework.En el artículo de hoy, comenzaremos a ver el proceso de creación de un bot y que en el último artículo publicaremos para poder consumirlo de forma “real”.
Como primer paso, tendremos que instalar lo necesario para poder “jugar” con esta tecnología:
Una vez se ha creado el proyecto basado en la plantilla de “Aplicación Bot” podemos comprobar que la estructura se corresponde con la de un proyecto WebApi como se puede observar en la siguiente imagen:
Por lo tanto, disponemos de un controlador que gestiona la funcionalidad que puede ejecutar el bot y que se llama en este caso MessagesController. Por otro lado, también disponemos del fichero WebApiConfig en la carpeta App_Start donde, entre otras cosas, se gestionan las rutas de acceso al bot y que, por defecto, serán “api/{NOMBRE_CONTROLADOR}/{id}”.
Visto esto, podemos conocer que para realizar las acciones del bot, es necesario comunicarse con él por la url conformada por la dirección del mismo seguido de /api/messages, es decir http://{MY_BOT_URL}/api/messages | https://{MY_BOT_URL}/api/messages
La página de presentación del bot, default.htm, mostrará una simple ayuda sobre los pasos a seguir.
Una vez ejecutado el proyecto y viendo el renderizado de la página default.htm, ya estamos en disposición de realizar los primeros tests de nuestro bot pero… ¿Cómo?
Microsoft ha dispuesto un emulador con el que podremos realizar tests sencillos para comprobar el funcionamiento de nuestro bot, Bot Framework Emulator, y lo podemos descargar desde este enlace.
Una vez lo instalemos, ya podremos ejecutarlo para probar nuestro bot, abriéndose una sencilla ventana donde se puede configurar el punto de acceso para realizar la comunicación.
La configuración que debemos tener en cuenta es la siguiente:
Una vez tengamos todo correctamente configurado, ya podemos escribir texto en el emulador de bots y ver el resultado que viene representado por un JSON que el propio emulador tratará para mostrar la conversación.
Y este es el resultado. El bot, por defecto, nos responderá con el texto introducido y el número de caracteres que lo componen tal y como viene indicado en la acción Post del controlador MessagesController.
/// <summary> /// POST: api/Messages /// Receive a message from a user and reply to it /// </summary> public async Task<HttpResponseMessage> Post([FromBody]Activity activity) { if (activity.Type == ActivityTypes.Message) { ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl)); // calculate something for us to return int length = (activity.Text ?? string.Empty).Length; // return our reply to the user Activity reply = activity.CreateReply($"You sent {activity.Text} which was {length} characters"); await connector.Conversations.ReplyToActivityAsync(reply); } else { HandleSystemMessage(activity); } var response = Request.CreateResponse(HttpStatusCode.OK); return response; }
Como podéis comprobar en este primer artículo, crear un bot es una tarea muy sencilla pero ya lo iremos poniendo más difícil a medida que vayamos avanzando en su configuración en los siguientes artículos.
Este sitio web utiliza cookies para que tengas la mejor experiencia de usuario. Si continuas navegando, estás dando tu consentimiento para aceptar las cookies y también nuestra política de cookies (esperemos que no te empaches con tanta cookie 😊)