#Bots – New Emulator ! ( new if haven’t use the emulator in a couple of months )

Hi !

If you are currently developing apps using Bot Framework SDK, this will not be new for you. However, for me, after 2 months away from this platform, I found a new emulator and I really like it.

clipboard01

We can also browse the source code of the emulator, so I spent some time here trying to understand how the emulator works. This is very cool to learn on the client side of the SDK. The complete list of new features is on the official documentation as this:

  • New Support for Mac, Linux and Windows
  • New All the Bot Framework card types are supported
  • New Save multiple profiles for when you’re working online and off
  • New Simplifies configuration when you’re working with ngrok
  • New Uses the webchat control for higher fidelity layout and consistency with the webchat experience
  • Send requests and receive responses to/from your bot endpoint on localhost
  • Inspect the Json response
  • Emulate a specific user and/or conversation

Greetings @ Toronto

El Bruno

References

Advertisements

#Bots – Nuevo Emulador ! ( si no has tocado el SDK en 2 meses )

Hola !

Si estas usando Bot Framework SDK, durante noviembre y diciembre, esto no será novedad para tí. Yo hoy, 2 meses después, me he encontrado con el nuevo emulador y me ha gustado bastante.

clipboard01

Como además podemos acceder al código fuente del bot, me dí el gusto de compilarlo y ver un poco “sus tripas”. Investigando un poco más, me enteré que lo nuevo de esta versión es:

  • Soporte para Mac, Linux y Windows
  • Se admiten todos los tipos de Cards
  • Permite guardar múltiples perfiles cuando se está trabajando online y offline
  • Configuración más simple cuando trabajas con ngrok
  • El control de webchat provee una mejor experiencia de usuario
  • El emulador peremite enviar y recibir respuestas desde / hasta el endpoint del servidor local
  • El emulador permite inspeccionar la respuesta Json
  • Emular un usuario específico o conversación

Saludos @ Toronto

El Bruno

References

#Bots – Error when you update the #NuGet package for System.IdentityModel.Tokens.Jwt on your #MicrosoftBot Application

Hello!

For a few days, I was lucky and go back to the great world of Microsoft Bot. In this one, my main task was to update one Bot I’ve created some time ago.

The update process is fairly simple. Gisela has written a post where he explains the biggest changes, and otherwise you can always browse ans learn from the Bot Framework source code on GitHub.

Now well, there is a stick ugly in the road that added to the 40 ° of fever I have figthed all the Sunday. When I begin to update the NuGet packages in my project, I find the following list (or similar depending on how you’ve used)

clipboard02

The easy path is to perform an “Update All” or follow an order similar to the following list.

  • Newtonsoft.Json
  • Microsoft.WindowsAzure.ConfigurationManager
  • Autofac
  • Microsoft.IdentityModel.Protocol.Extensions
  • Microsoft.Bot.Builder
  • System.IdentityModel.Tokens.Jwt

However, once updated all packages, our Bot will not work anymore and we’ll have a very descriptive error  “An error has ocurred.

clipboard03

The good thing about having the source code of the Bot Framework is after a while, is possible to understand there is a problem with System.IdentityModel.Tokens.Jwt version [5.0.0] . So, we need to make a “rollback” of the same to the version previous to bring our Bot back to life.

clipboard04

This solves the problem, and will have that see if I can put to see the code full so Bot Fwk works with the latest versions. For now, since it is a bit out of my reach; I’ve left a comment on the Issue reported on GitHub (link). As it is closed, if there is no response in a couple of days, I’ll see if I open a new Issue or I start to study about the topic 😀

Greetings @ Toronto

El Bruno

References

#Bots – Error con el paquete #NuGet System.IdentityModel.Tokens.Jwt

Hola !

Durante unos días he vuelvo al grandioso mundo de los Bots. En este caso me ha tocado actualizar uno que había creado hace ya un tiempo.

El proceso de actualización ha sido bastante simple. Gisela ha escrito un post donde explica los cambios más grandes, y lo demás sale después de ver un poco el código de Bot Framework en GitHub.

Ahora bien, hay un palo feo en el camino que sumado a los 40º de fiebre me han consumido todo el domingo. Cuando comenzamos a actualizar los paquetes NuGet de nuestro proyecto, encontramos la siguiente lista (o similar dependiendo de qué hayas usado)

clipboard02

Podemos realizar un “Update All” o seguir un orden similar al siguiente para actualizar.

  • Newtonsoft.Json
  • Microsoft.WindowsAzure.ConfigurationManager
  • Autofac
  • Microsoft.IdentityModel.Protocol.Extensions
  • Microsoft.Bot.Builder
  • System.IdentityModel.Tokens.Jwt

Sin embargo, una vez actualizados todos los paquetes, nuestro Bot deja de funcionar y nos encontramos con un error muy descriptivo “An error has ocurred.

clipboard03

Lo bueno de tener el código de Bot Framework es que después de un rato, es posible ver que hay un problema con la versión [5.0.0] de System.IdentityModel.Tokens.Jwt. Es necesario hacer un “rollback” de la misma a la versión anterior para que nuestro Bot vuelva a funcionar.

clipboard04

Esto soluciona el problema, y tendré que ver si me puedo poner a ver el código completo para que Bot Fwk funciona con las últimas versiones. Por ahora, ya que queda un poco fuera de mi alcance; he dejado un comentario en el Issue reportado en GitHub (link). Como el mismo está cerrado, si en un par de días no hay respuesta, veré si abro un nuevo Issue o me pongo a estudiar sobre el tema 😀

Saludos @ Toronto

El Bruno

References

#Bots – (IV) Novedades en Microsoft BotFramework: soporte para Slack y mejoras con la integración con Facebook Bots

image

Hola !

Hace un tiempo escribí un par de posts sobre Bots

  1. Create Hello Bot app using Visual Studio
  2. Publish the bot to Azure and register the bot in Microsoft Bot Framework
  3. Connect the bot to specific channels

Y ahora todo el mundo habla de Bots, así que es momento de compartir alguna de las novedades de estos días en Microsoft Bot Framework. La lista completa de novedades se puede leer en este post, yo dejaré los 4 que más me han llamado la atención:

  • Group Support: Ahora los Bots pueden participar en conversaciones de grupo y responder en las mismas
  • Better and Simpler Skype integration: el proceso de publicación en Skype es solo un paso !
  • Soporte para los botones de Slack, esto es un puntazo a tener en cuenta
  • Soporte para muchas de las novedades de los bots de Facebook

Así que mis próximos posts serán sobre la integración con Slack o un ejemplo completo sobre Skype. Post divertidos !

Saludos @ Toronto

El Bruno

References

#Bots – (IV) News for Microsoft BotFramework: Slack support and better Facebook integration

image

Hi !

Do you remember my series of posts about bots?

  1. Create Hello Bot app using Visual Studio
  2. Publish the bot to Azure and register the bot in Microsoft Bot Framework
  3. Connect the bot to specific channels

I do ! And, because bots is a very large trending now, is time to share some of the updates on the Microsoft Bot Framework. The complete list of updates is on the official post, however this are my best ones

  • Group Support: Bots can now be a part of and respond to group conversations.
  • Better and Simpler Skype integration: now the Skype publish method for a Bot is only one step !
  • Support for Slack’s recent addition of buttons
  • Support for many of Facebook’s newest Bot features

So, maybe my next posts will be related to Slack integration or a end to end Skype sample. Cool features for next week posts!

Greetings @ Toronto

El Bruno

References

#Bots – (III) Agregando canales a Bots: #Skype, #Facebook, #Telegram y mas !

Hola !

Hola estamos ya en el 3er y ultimo paso en esta serie sobre bots:

  1. Crear Hello Bot con Visual Studio 2015
  2. Publicar el Bot en Azure y registrarlo en Microsoft Bot Framework
  3. Asociar canales de comunicación con el Bot

Como escribí en post anteriores, una vez que se publica el bot, el canal Web Chat se activa por defecto y es el primero que podemos utilizar.image

Skype Channel

Llegado a este punto, lo siguiente y natural para mi fue intentar integrar el canal de Skype con  mi Bot. Para acceder a la configuración del mismo tenemos que navegar a Skype Bot Configuration page. Y como se ve en la siguiente imagen, los pasos a seguir son bastantes sencillos.

image

Una vez que hemos configurado todo lo necesario en el Bot, lo siguiente es darnos de alta en el  Skype Bot Portal utilizando una Microsoft Account. Para este ejemplo he creado una cuenta de ejemplo [elbrunoblog@outlook.com] and y he solicitado el ingreso al programa que todavía está en Beta.

image

Así que, al final, llegué a un punto en el que tengo que esperar el OK para entrar al Skype Bot Program para poder probar mi Bot en Azure. Es momento de probar algo más.

Facebook Channel

El Facebook Channel es similar. Comenzamos con una página paso a paso (Bot Facebook Configuration), donde podemos encontrar todo lo necesario para poder publicar y conectar nuestro Bot a Facebook. Como modelo de pruebas, creé una Facebook App que luego usaré en mi página de Facebook  (Si, tengo una humilde Facebook page)

image

Luego de conocer y configurar mi primera Facebook App, me pasé los 15 minutos más divertidos del mundo intentando conocer este mundo. Eso sí, muy difícil no debía ser porque logré tener toda la información que necesitaba para publicar mi Bot.

image

Así que, volví a la configuración de Facebook Bot y seguí con la configuración de Webhooks:

image

Y listo! ya tenía todo lo necesario. Sin embargo, quedé en un estado similar a Skype, ya que mi Facebook App queda a la espera que Facebook apruebe mi petición. Pero tampoco pude probar mi Bot en un canal Sad smile

Telegram Channel

En este momento comencé a estar un poco de bajón, ya que después de pasar un tiempo con Skype and Facebook, no había podido probar mi bot. Eso sí, Telegram me estaba esperando con una gran sorpresa.

Al igual que Skype y Facebook, tenemos una página para la configuración Bot Telegram, con todos los pasos necesarios para la publicación.

image

Para la creación del bot, usamos @botfather, que es una de las ideas más inteligentes que he visto últimamente. Bot Father es un Telegram bot para crear bots !!!

Solo unos segundos después, ya tenía creado mi Telegram Bot con el original nombre de @ElBrunoBlogBot

image

El proceso de creación del bot nos ofrece un Token, que es el que tenemos que utilizar en la configuración de nuestro Bot.

image

Así que, una vez habilitado mis credenciales de Telegram para mi bot ya podia comenzar a probar el mismo.

image

En la configuración de mi Bot podemos ver los 3 canales sobre los que he trabajado (aunque el canal de Facebook todavía no está habilitado)

image

Y ahora ya podemos tener una “conversación de las buenas” con mi Telegram Bot !

image

Por ejemplo: 😉

2016 05 06 Bot Telegram

Saludos @ Toronto

-El Bruno

#Bots – (III) Connect to bots channels, #Skype, #Facebook, #Telegram and more !

Hi !

So, we are ready to go for the step 3, and start to use our bot in some channels:

  1. Create Hello Bot app using Visual Studio
  2. Publish the bot to Azure and register the bot in Microsoft Bot Framework
  3. Connect the bot to specific channels

As I wrote in my previous post, once we have out  Bot registered, the Web Chat channel is automatically enabled for our Bot.image

Skype Channel

My next natural step was to enable the bot in a Skype account. I was redirected to the Skype Bot Configuration page. As you can see in the following image, the configuration page is very straight forward, with all the necessary steps.

image

Once we get all the Bot information we need to go to the Skype Bot Portal using a Microsoft account. For this sample I’ve created a sample account [elbrunoblog@outlook.com] and requested access to be part of the Bot program.

image

At the end, to connect my Bot with Skype means wait until to get into the Skype Bot program. Time to move on.

Facebook Channel

Facebook Channel is similar. We start with a step by step page (Bot Facebook Configuration), where we have most of the necessary steps to publish and connect our bot with a Facebook page. So I decided to create a Facebook App which later will be used in my Facebook page (Yes, I’ve got a never seen Facebook page)

image

So, a couple of configuration minutes later I’ve got my basic Facebook App created and all the mandatory information was available for me.

image

At this moment, I can go back to my Facebook Bot Configuration page and start the Webhooks configuration

image

And that’s great! However, my app was submitted to Facebook and I need to wait until they approve the Facebook app. So no chance to test the bot here either Sad smile

Telegram Channel

So, at this moment I was very upset. I’ve spent some time dealing with Skype and Facebook, and I couldn’t test my robot in a final platform. However, Telegram was there with a big surprise for me.

Like Skype and Facebook, we have a nice Bot Telegram Configuration page with all the necessary steps to do this.

image

The creation of the bot is using @botfather, which is so smart. Bot Father is a Telegram bot to create bots !!!

So after a couple of seconds, I’ve got my Telegram Bot created and named @ElBrunoBot

image

And of course, I got a Token which I will use later on the Bot configuration page.

image

So, I enable my Telegram credentials for my bot and that’s it! is working.

image

Now I’ve got my Bot connected with 3 channels (even if the Facebook one is not working)

image

And I can finally have a “nice conversation” using telegram with my bot !

image

Like this one 😉

2016 05 06 Bot Telegram

Greetings @ Toronto

-El Bruno

#Bots – (II) Como publicar el Bot en #Azure y registrarlo en Microsoft Bot Network

Hola !

En mi post anterior expliqué como crear un project tipo Hello Bot utilizando Visual Studio 2015. Este es el 1er paso de la serie de Bots:

  1. Crear Hello Bot con Visual Studio 2015
  2. Publicar el Bot en Azure y registrarlo en Microsoft Bot Framework
  3. Asociar canales de comunicación con el Bot

Así que, como ya tenemos el proyecto creado lo siguiente es publicar en Azure. Esta tarea es bastante trivial, no entrare en detalles sobre a misma (he dejado un link mas completo en la sección de referencias). Solo necesitamos una suscripción de Azure.

Seleccionamos el proyecto en Visual Studio 2015, desplegamos el context menu y seleccionamos “Publish”.

image

Esto lanza el asistente de publicación de Azure. Para este caso crearemos una App Service, que llamaré “BotApplicationElBrunoTest

image

Después del asistente de Azure, se lanza el asistente de publicación de Visual Studio y en solo unos segundos ya tenemos nuestro Bot publicado en un Azure App Service.

image

Detalle importante, es anotar la url de publicación [http://botapplicationelbrunotest.azurewebsites.net/]

Y ahora ya podemos registrar nuestro bot en Microsoft Bot Framework.

image

Lo primero que debemos hacer es navegar a la sección “My Bots” para registrar el bot. En el proceso de registro la mayoría de los campos son bastantes descriptivos, y lo único a tener en cuenta es el endpoint de nuestro bot. Para esto usamos la url de publicación en Azure con el sufijo /api/messages.

image

Y listo ! Nuestro Bot ya está registrado en el directorio de Bot Framework. Por defecto, los bot habilitan un canal de Web Chat para poder interactuar con los mismos.

image

Podemos probar esta funcionalidad utilizando el panel de prueba en la sección de la izquierda debajo

image

O podemos ser mucho más inteligentes y usar la Microsoft Bot Emulator app. Cambiamos la url para utilizar la de Azure y podemos tener algo como lo siguiente

2016 05 05 Bot Azure publish

El último paso, es agregar el AppId y AppSecret correctos en nuestro proyecto de Bot. Para esto debemos actualizar el web.config en Visual Studio. Y obviamente, publicar a Azure nuevamente nuestro Bot.

Clipboard01

En el siguiente y ultimo post, como agregar canales nuevos!😀

Saludos @ Toronto

-El Bruno

References

#Bots – (II) Publish to #Azure and register your Bot into Microsoft Bot Network

Hi !

In my previous post I explained how to create a simple Hello Bot project using Visual Studio 2015. Once we have created this bot (step 1), our next steps are:

  1. Create Hello Bot app using Visual Studio
  2. Publish the bot to Azure and register the bot in Microsoft Bot Framework
  3. Connect the bot to specific channels

So, let’s go with the Azure publish process. This is something very usual so I won’t get into the small step by step details (see the references section). You need an Azure subscription and then you can move on.

Select your project in Visual Studio 2015, get the context menu and select “Publish”.

image

This will start the Azure publish wizard. We’ll create an App Service. And for this demo I’ll name it “BotApplicationElBrunoTest

image

So, the Visual Studio publish wizard will be started, and a couple of seconds later we’ll have our Bot App published into an Azure App Service.

image

At this moment is important to annotate the url of our service [http://botapplicationelbrunotest.azurewebsites.net/]

Now is moment to register our bot into the Microsoft Bot Framework.

image

We go to the “My Bots” section and we can register our new bot. Most of the fields are very descriptive, and we need to define and endpoint for our bot. This is our previous Azure URl with the /api/messages suffix.

image

And that’s it! Our bot is registered in the Bot Framework directory. By default the bot are enabled with a Webchat channel.

image

We can try this channel using the test feature in the bottom left of the page

image

However, is better to do this using the Microsoft Bot Emulator app. Once we add the correct url in the app, we can try something like this

2016 05 05 Bot Azure publish

Once we got the bot registered, we need to update the AppId and AppSecret values on the web.config file in Visual Studio. After we update this values, we need to publish again to Azure our project and that’s it!

Clipboard01

So, we only need to add one more Step, that’ will be the latest post for this series 😀

Greetings @ Toronto

-El Bruno

References