Fonctionnement des bots Microsoft teams

S'APPLIQUE À : SDK v4

Cet article s'appuie sur ce que vous avez appris dans Fonctionnement des bots et Conversations pilotées par les événements. Vous devez avoir bien lu et compris ces articles avant de continuer.

La principale différence avec les bots développés pour Microsoft Teams est liée à la gestion des activités. Le gestionnaire d'activités Teams dérive du gestionnaire d'activités et traite d'abord des types d'activités spécifiques à Teams avant de s'occuper des types d'activités plus généraux.

Remarque

Les kits de développement logiciel (SDK) JavaScript, C# et Python bot Framework continueront d'être pris en charge. Toutefois, le kit de développement logiciel (SDK) Java est progressivement mis hors service avec une prise en charge finale à long terme se terminant en novembre 2023. Seuls les correctifs de sécurité et de bogues critiques au sein de ce référentiel seront appliqués.

Les bots existants créés avec le kit de développement logiciel (SDK) Java continueront de fonctionner.

Pour la nouvelle génération de bots, envisagez d'utiliser Power Virtual Agents et découvrez comment choisir la solution de chatbot appropriée.

Pour plus d'informations, consultez Les futures versions de bot.

Gestionnaire d'activités Teams

Pour créer un bot pour Teams, dérivez votre bot de la classe de gestionnaire d'activités Teams. Lorsqu'un tel bot reçoit une activité, il la fait passer par différents gestionnaires d'activité. Le gestionnaire initial de base est le gestionnaire de tour, et il achemine l'activité vers un gestionnaire basé sur le type d'activité. Le gestionnaire de tour appelle le gestionnaire conçu pour gérer le type d'activité spécifique reçu. La classe gestionnaire d'activités Teams est dérivée de la classe gestionnaire d'activités. Outre les types d'activité que le gestionnaire d'activités peut traiter, la classe de gestionnaire d'activités Teams inclut des gestionnaires supplémentaires pour les activités spécifiques à Teams.

Un bot qui dérive du gestionnaire d'activités Teams est similaire à un celui qui dérive directement de la classe de gestionnaire d'activités. Toutefois, Teams inclut des informations supplémentaires dans les activités conversationUpdate et envoie des activités invoke et event qui sont spécifiques à Teams.

Lorsque le bot de votre gestionnaire d'activités Teams reçoit une activité de message, son gestionnaire de tour route l'activité de message entrante vers son gestionnaire OnMessageActivityAsync, de la même façon qu'un bot basé sur un gestionnaire d'activités. Toutefois, lorsque votre bot Teams reçoit une activité de mise à jour de conversation, la version Teams du gestionnaire OnConversationUpdateActivityAsync traite l'activité.

Il n'existe pas d'implémentation de base pour la plupart des gestionnaires d'activités spécifiques à Teams. Vous devez remplacer ces gestionnaires et définir une logique appropriée pour votre bot.

Tous les gestionnaires d'activité décrits dans la section sur la gestion des activités de l'article sur les conversations pilotées par les événements à l'aide d'un gestionnaire d'activité continueront de fonctionner comme avec un bot n'appartenant pas à une équipe, à l'exception du traitement des activités d'ajout et de retrait de membres, ces activités étant différentes dans le contexte d'une équipe, où le nouveau membre est ajouté à l'équipe plutôt qu'à un fil de messages. Pour plus d'informations, consultez Activités de mise à jour de conversation Teams.

Pour mettre en œuvre votre logique pour ces gestionnaires d'activité spécifiques à l'équipe, vous remplacerez les méthodes dans votre bot.

Logique des bots Teams

La logique de bot traite les activités entrantes d’un ou plusieurs canaux de vos bots, puis génère des activités sortantes en réponse. C’est toujours le cas pour un bot dérivé de la classe de gestionnaire d’activités Teams, qui recherche en premier lieu les activités Teams et transmet toutes les autres activités au gestionnaire d’activités de Bot Framework.

Activités de mise à jour d'installation Teams

Ajoutez un gestionnaire pour l'événement de mise à jour d'installation pour permettre à votre bot :

  • Envoyez un message d'introduction lorsqu'il est installé sur un fil de conversation.
  • Nettoyez les données de l'utilisateur et du fil de discussion lorsqu'il est désinstallé à partir d'une conversation.

Pour plus d'informations, consultez Événement de mise à jour d'installation dans la documentation Teams.

Activités de mise à jour de conversation Teams

Le tableau suivant répertorie les événements Teams qui génèrent une activité de mise à jour de conversation dans un bot. L'article sur les événements de mise à jour des conversations Microsoft Teams décrit comment utiliser chacun de ces événements.

Vous trouverez ci-dessous une liste de tous les gestionnaires d'activités d'équipes appelés à partir de la méthode OnConversationUpdateActivityAsync du gestionnaire d'activités de Teams.

Type d’événement Handler Condition Documentation Teams
channelCreated OnTeamsChannelCreatedAsync Envoyée chaque fois qu'un nouveau canal est créé dans une équipe dans laquelle votre bot est installé. Canal créé.
channelDeleted OnTeamsChannelDeletedAsync Envoyée chaque fois qu'un canal est supprimé dans une équipe dans laquelle votre bot est installé. Canal supprimé.
channelRenamed OnTeamsChannelRenamedAsync Envoyée à chaque fois qu'un canal est renommé dans une équipe où votre bot est installé. Canal renommé.
channelRestored OnTeamsChannelRestoredAsync Envoyée chaque fois qu'un canal précédemment supprimé est restauré dans une équipe dans laquelle votre bot est déjà installé. Canal restauré.
membersAdded OnTeamsMembersAddedAsync La méthode ActivityHandler.OnMembersAddedAsync est appelée par défaut. Envoyé la première fois que votre bot est ajouté à une conversation et chaque fois qu'un nouvel utilisateur est ajouté à une équipe ou à une conversation de groupe dans laquelle votre bot est installé. Membres de l'équipe ajoutés
membersRemoved OnTeamsMembersRemovedAsync La méthode ActivityHandler.OnMembersRemovedAsync est appelée par défaut. Envoyée si votre bot est supprimé d'une équipe et chaque fois qu'un utilisateur est supprimé d'une équipe dont votre bot est membre. Des membres de l'équipe ont été retirés.
teamArchived OnTeamsTeamArchivedAsync Envoyée lorsque l'équipe dans laquelle votre bot est installé est archivée. Équipe archivée.
teamDeleted OnTeamsTeamDeletedAsync Envoyée lorsque l'équipe dans laquelle votre bot est connecté a été supprimée. Équipe supprimée.
teamRenamed OnTeamsTeamRenamedAsync Envoyée lorsque l'équipe dans laquelle votre bot est connecté a été renommée. Équipe renommée.
teamRestored OnTeamsTeamRestoredAsync Envoyée lorsqu'une équipe précédemment supprimée dans laquelle se trouve votre bot est restaurée. Équipe restaurée.
teamUnarchived OnTeamsTeamUnarchivedAsync Envoyée lorsque l'équipe dans laquelle votre bot est installé est désarchivée. Équipe désarchivée.

Activités d'événements Teams

Le tableau suivant répertorie les activités d'événement spécifiques à Teams envoyées par Teams à un bot. The event activities listed are for conversational bots in Teams.

Il s'agit des gestionnaires d'activité d'événements spécifiques à Teams appelés à partir du gestionnaire d'activités OnEventActivityAsyncTeams.

Types d’événements Handler Description
application/vnd.microsoft.meetingEnd OnTeamsMeetingEndAsync Le bot est associé à une réunion qui vient de se terminer.
application/vnd.microsoft.meetingStart OnTeamsMeetingStartAsync Le bot est associé à une réunion qui vient de démarrer.

Activités d’appel Teams

Le tableau suivant répertorie les activités d'appel spécifiques à Teams envoyées par Teams à un bot. Les activités d'invocation répertoriées sont destinées aux bots conversationnels dans Teams. Le kit SDK Bot Framework prend aussi en charge les appels propres aux extensions de messagerie. Pour plus d'informations, consultez l'article Extensions de messagerie.

Remarque

La documentation de la plateforme Microsoft Teams et la bibliothèque de client JavaScript Teams (TeamsJS) font référence aux modules de tâche en tant que dialogues modaux. Pour plus d'informations, consultez Dialogues.

Voici la liste de tous les gestionnaires d'activités de Teams appelés à partir du gestionnaire d'activités OnInvokeActivityAsyncTeams :

Types d’appel Handler Description
actionableMessage/executeAction OnTeamsO365ConnectorCardActionAsync Action de carte de connecteur Teams Office 365.
CardAction.Invoke OnTeamsCardActionInvokeAsync Appel d’action de carte Teams.
fileConsent/invoke OnTeamsFileConsentAcceptAsync Acceptation du consentement de fichier Teams.
fileConsent/invoke OnTeamsFileConsentAsync Consentement de fichier Teams.
fileConsent/invoke OnTeamsFileConsentDeclineAsync Consentement de fichier Teams.
signin/verifyState OnTeamsSigninVerifyStateAsync État de vérification de connexion Teams.
task/fetch OnTeamsTaskModuleFetchAsync Récupération (fetch) de module de tâche Teams.
task/submit OnTeamsTaskModuleSubmitAsync Envoi de module de tâche Teams.

Étapes suivantes

Pour créer des bots Teams, reportez-vous à la documentation Microsoft Teams Developer.