Fonctionnement des bots Microsoft Teams

S’APPLIQUE À : Kit de développement logiciel (SDK) v4

Cet article s’appuie sur ce que vous avez appris dans le fonctionnement des bots et lesconversations basées sur les événements ; vous devez être familiarisé avec ces articles avant de continuer.

La principale différence dans les bots développés pour Microsoft Teams est la façon dont les activités sont gérées. Le gestionnaire d’activités Teams dérive du gestionnaire d’activités et traite Teams types d’activités spécifiques avant de traiter des types d’activités plus généraux.

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 achemine l’activité via différents gestionnaires d’activités. Le gestionnaire de base initial est le gestionnaire de tour et il achemine l’activité vers un gestionnaire en fonction du type de l’activité. Le gestionnaire de tours appelle le gestionnaire conçu pour gérer le type d’activité spécifique qui a été reçu. La classe de gestionnaire d’activités Teams est dérivée de la classe de gestionnaire d’activités. Outre les types d’activités 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 bot qui dérive directement de la classe de gestionnaire d’activités. Toutefois, Teams inclut des informations supplémentaires dans conversationUpdate les activités et envoie des Teams spécifiques invoke et event des activités.

Lorsque votre Teams gestionnaire d’activités-bot reçoit une activité de message, son gestionnaire de tours achemine l’activité de message entrant vers son OnMessageActivityAsync gestionnaire, comme le ferait 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 OnConversationUpdateActivityAsync gestionnaire traite l’activité.

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

Tous les gestionnaires d’activités décrits dans la section de gestion des activités des conversations basées sur les événements à l’aide d’un article de gestionnaire d’activités continueront de fonctionner comme ils le font avec un bot non Teams, à l’exception de la gestion des activités ajoutées et supprimées par les membres, ces activités seront différentes dans le contexte d’une équipe, où le nouveau membre est ajouté à l’équipe par opposition à un thread de message. Pour plus d’informations, consultez Teams activités de mise à jour de conversation.

Pour implémenter votre logique pour ces gestionnaires d’activités spécifiques à Teams, vous remplacerez les méthodes de votre bot.

logique Teams-bot

La logique du bot traite les activités entrantes à partir d’un ou plusieurs de vos canaux de bots et génère des activités sortantes en réponse. Cela est toujours vrai pour le bot dérivé de la classe de gestionnaire d’activités Teams, qui vérifie d’abord les activités Teams, puis transmet toutes les autres activités au gestionnaire d’activités de Bot Framework.

Teams activités de mise à jour d’installation

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 thread de conversation.
  • Nettoyez les données d’utilisateur et de thread lorsqu’elles sont désinstallées d’un thread.

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

Teams activités de mise à jour de conversation

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 Microsoft Teams événements de mise à jour conversation décrit comment utiliser chacun de ces événements.

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

Eventtype Gestionnaire Condition documentation Teams
channelCreated OnTeamsChannelCreatedAsync Envoyé chaque fois qu’un nouveau canal est créé dans une équipe où votre bot est installé. Canal créé.
channelDeleted OnTeamsChannelDeletedAsync Envoyé chaque fois qu’un canal est supprimé dans une équipe où votre bot est installé. Canal supprimé.
channelRenamed OnTeamsChannelRenamedAsync Envoyé chaque fois qu’un canal est renommé dans une équipe où votre bot est installé. Canal renommé.
channelRestored OnTeamsChannelRestoredAsync Envoyé 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 Par défaut, appelle la ActivityHandler.OnMembersAddedAsync méthode. Envoyé la première fois que votre bot est ajouté à une conversation et chaque fois qu’un nouvel utilisateur est ajouté à une conversation d’équipe ou de groupe dans laquelle votre bot est installé. Membres de l’équipe ajoutés.
membersRemoved OnTeamsMembersRemovedAsync Par défaut, appelle la ActivityHandler.OnMembersRemovedAsync méthode. Envoyé si votre bot est supprimé d’une équipe et chaque fois qu’un utilisateur est supprimé d’une équipe dont il est membre. Membres de l’équipe supprimés.
teamArchived OnTeamsTeamArchivedAsync Envoyé lorsque l’équipe dans laquelle votre bot est installé est archivée. Équipe archivée.
teamDeleted OnTeamsTeamDeletedAsync Envoyé lorsque l’équipe dans laquelle se trouve votre bot a été supprimée. Équipe supprimée.
teamRenamed OnTeamsTeamRenamedAsync Envoyé lorsque l’équipe dans laquelle se trouve votre bot a été renommée. Équipe renommée.
teamRestored OnTeamsTeamRestoredAsync Envoyé lorsqu’une équipe précédemment supprimée dans laquelle se trouve votre bot est restauré. Équipe restaurée.
teamUnarchived OnTeamsTeamUnarchivedAsync Envoyé lorsque l’équipe dans laquelle votre bot est installé n’est pas archivée. Équipe nonarchived.

activités d’événement Teams

Le tableau suivant répertorie les activités d’événement spécifiques à Teams Teams envoie à un bot. Les activités d’événement répertoriées concernent les bots conversationnels dans Teams.

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

Types d’événements Gestionnaire 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.

Teams appeler des activités

Le tableau suivant répertorie les activités d’appel spécifiques Teams Teams envoie à un bot. Les activités d’appel répertoriées concernent les bots conversationnels dans Teams. Le Kit de développement logiciel (SDK) Bot Framework prend également en charge les appels spécifiques aux extensions de messagerie. Pour plus d’informations, consultez l’article Teams Qu’est-ce que les extensions de messagerie ?

Voici une liste de tous les gestionnaires d’activités Teams appelés à partir du OnInvokeActivityAsync gestionnaire d’activités Teams :

Appeler des types Gestionnaire Description
actionableMessage/executeAction OnTeamsO365ConnectorCardActionAsync Teams action de carte de connecteur O365.
CardAction.Invoke OnTeamsCardActionInvokeAsync Teams appel d’action de carte.
fileConsent/invoke OnTeamsFileConsentAcceptAsync Teams l’acceptation du consentement de fichier.
fileConsent/invoke OnTeamsFileConsentAsync Teams consentement du fichier.
fileConsent/invoke OnTeamsFileConsentDeclineAsync Teams consentement du fichier.
signin/verifyState OnTeamsSigninVerifyStateAsync Teams connectez-vous pour vérifier l’état.
tâche/extraction OnTeamsTaskModuleFetchAsync Teams récupération du module de tâche.
task/submit OnTeamsTaskModuleSubmitAsync Teams module de tâche envoyer.

Étapes suivantes

Pour créer des bots Teams, reportez-vous à Microsoft Teams documentation développeur.