¿Qué es exactamente un bot de Teams?

Es un bot conversacional. El usuario habla con él, el bot ejecuta alguna lógica y luego responde al usuario. Incluso puede mantener el estado a través de las interacciones individuales con el bot para simular una conversación completa. Toda la lógica del bot se aloja en un servicio web que tú creas, y tu bot puede conversar con el usuario a través de texto plano, o de tarjetas, que son mensajes bien formateados que incluyen un formato enriquecido y/o imágenes, o comunicarse con formularios, que proporcionan opciones discretas para que el usuario envíe al bot.

De cualquier manera, cada comunicación individual ocurre dentro de una actividad, y puedes pensar en una actividad como un mensaje.

El servicio web que se crea interactúa con el Microsoft Bot Framework. El Bot Framework proporciona el protocolo de comunicación y define los formatos de mensajería, y existe un SDK para facilitar la comunicación entre tu aplicación y el Bot Framework. Esencialmente, el Bot Framework es una abstracción con la que se puede desarrollar y que permite crear un bot y desplegarlo en muchos lugares diferentes, como Teams o Slack, entre otros.

Los bot podrán responder a eventos específicos dentro de Teams o interactuar 1:1, pero también pueden ponerse en canales y que solamente atenderá cuando se le @meciona.

¿Qué vamos a ver aquí?

A crear los andamios de un proyecto sencillo para que luego puedas hacer cualquier cosa en la que estes pensado.

Manos a la obra:

 

TeamBotStep1

Seleccionamos el nombre que queremos poner a la aplicación y en mi caso he usado JS.

Y seguimos los pasos para hacer el despliegue a Azure:

teamsbots2

Los recursos que se han generado son:

teamsbots3

Quizá para vosotros sea el más novedoso el siguiente:

teamsbots4

De la anterior imagen y de la Web App desplegada, automaticamente se componen los ficheros de de configuración:

teamsbots5

Como paso fundamental, deberás tener instalado ngrok y accesible como variable de entorno.

Si no, puedes optar por la instalación desde Chocolatey: choco install ngrok

Además, debes tener derechos para crear aplicaciones en el AAD. Sin este requisito, no podrás probar el bot y por tanto continuar con el ejemplo.

Ahora ejecutamos la aplicación:

teamsbots6
teamsbotsngrok

E interactuamos con el bot e incluso hacemos paradas par aver que está ocurriendo dentro de el:

teamsbotstest
teamsbotsdebug

Ahora solamente te queda añadir codigo y jugar con el bot.