Conceptos básicos de la conversación
Importante
Los ejemplos de código de esta sección se basan en la versión 4.6 y versiones posteriores del SDK de Bot Framework. Si busca documentación para versiones anteriores, consulte la sección bots - v3 SDK en la carpeta SDK heredados de la documentación.
Una conversación es una serie de mensajes enviados entre el bot de Microsoft Teams y uno o varios usuarios. En la tabla siguiente se proporcionan los tres tipos de conversaciones, también denominadas ámbitos en Teams:
Tipo de conversación | Descripción |
---|---|
channel |
Este tipo de conversación es visible para todos los miembros del canal. |
personal |
Este tipo de conversación incluye conversaciones entre bots y un único usuario. |
groupChat |
Este tipo de conversación incluye el chat entre un bot y dos o más usuarios. También habilita el bot en los chats de reuniones. |
Un bot se comporta de forma diferente en función de la conversación en la que esté implicado:
Los bots en conversaciones de chat de canal y grupo requieren que el usuario lo @mention para se lo invoque en un canal.
Los bots en una conversación uno a uno no requieren una @mention. Todos los mensajes enviados por el usuario se enrutan al bot.
Los bots pueden recibir todos los mensajes de canal y chat de un equipo sin usar @mentioned permisos de consentimiento específico de recursos (RSC). RSC para todos los mensajes de chat solo está disponible en versión preliminar para desarrolladores públicos para Teams. Para obtener más información, consulte Recepción de todos los mensajes de conversación con RSC.
Para que el bot funcione en una conversación o ámbito determinados, agregue compatibilidad a ese ámbito en el manifiesto de la aplicación.
Cada mensaje de una conversación de bot es un Activity
objeto de tipo messageType: message
. Cuando un usuario envía un mensaje, Teams publica el mensaje en el bot y el bot controla el mensaje. Además, para definir los comandos principales a los que responde el bot, puede agregar un menú de comandos con una lista desplegable de comandos para el bot. Los bots de un grupo o canal solo reciben mensajes cuando se les menciona @botname. Microsoft Teams envía notificaciones al bot para los eventos que se suceden en ámbitos donde el bot está activo. Puede capturar estos eventos en el código y tomar medidas en ellos.
Un bot también puede enviar mensajes proactivos a los usuarios. Un mensaje proactivo es cualquier mensaje enviado por un bot que no responde a una solicitud de un usuario. Puede dar formato a los mensajes del bot para incluir tarjetas enriquecidas que incluyan elementos interactivos, como botones, texto, imágenes, audio, vídeo, etc. El bot puede actualizar dinámicamente los mensajes después de enviarlos, en lugar de tener los mensajes como instantáneas estáticas de datos. Los mensajes también se pueden eliminar mediante el método de DeleteActivity
Bot Framework. La solicitud saliente al bot muestra el identificador de conversación y el identificador de inquilino en los encabezados.
El bot de notificación es un tipo de bot de conversación, que envía notificaciones como texto sin formato o tarjetas adaptables. La plantilla de bot de notificación crea una aplicación que envía un mensaje a Teams con tarjetas adaptables desencadenadas por la solicitud de publicación HTTP.
El bot command es un tipo de bot de conversación que puede responder a comandos simples enviados en chats con tarjetas adaptables. Puede crear plantillas de bot de comandos en Teams para responder a los comandos de chat mediante la visualización de la interfaz de usuario mediante una tarjeta adaptable.
El bot de flujo de trabajo es un tipo de bot de conversación, que interactúa con los usuarios de la tarjeta adaptable. Puede personalizar cómo el bot envía la tarjeta adaptable a los usuarios.
Incorporación de la autenticación sso a los bots de conversación
Puede agregar la autenticación de inicio de sesión único al bot de conversación mediante los pasos siguientes:
- Creación de un bot de conversación de Teams
- Configuración de la aplicación de bot en Microsoft Entra ID