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 SDK JavaScript, C# et Python Bot Framework continueront d’être pris en charge. Toutefois, le kit de développement logiciel (SDK) Java est mis hors service avec une prise en charge finale à long terme se terminant en novembre 2023.
Les bots existants créés avec le kit de développement logiciel (SDK) Java continueront de fonctionner.
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.
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 onMessage, 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 dispatchConversationUpdateActivity 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.
Lorsque vous remplacez ces gestionnaires d'activité spécifiques aux équipes, définissez la logique de votre bot, puis assurez-vous d'appeler next() à la fin. Lorsque vous appelez next(), vous vous assurez que le gestionnaire suivant est exécuté.
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 onMessageActivity, 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 onConversationUpdateActivity 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.
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 on_message_activity, 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 on_conversation_update_activity 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.
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é.
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é.
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.
Les développeurs peuvent gérer les activités de mise à jour de conversation envoyées par Microsoft Teams via deux méthodes :
Pour passer un rappel, utilisez des méthodes qui commencent par onet se terminent Event par (par exemple, la onTeamsMembersAddedEvent méthode).
Lors de la création d'une classe dérivée, remplacez les méthodes qui commencent par on et ne se terminent pas par Event (par exemple, la méthode onTeamsMembersAdded).
Les développeurs ne doivent utiliser qu'une de ces options : 1 ou 2, et pas les deux pour la même activité. Cela signifie que les développeurs doivent passer un rappel à la méthode onTeamsMembersAddedEventou remplacer la méthode onTeamsMembersAdded dans une classe dérivée, pas les deux.
Méthodes d'inscription d'un rappel
Vous trouverez ci-dessous une liste de tous les émetteurs d'activité Équipe appelés à partir de la méthode dispatchConversationUpdateActivity du gestionnaire d'activité Teams.
Type d’événement
Méthode d’inscription
Condition
Documentation Teams
channelCreated
onTeamsChannelCreatedEvent
Envoyée chaque fois qu'un nouveau canal est créé dans une équipe dans laquelle votre bot est installé.
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é.
Vous trouverez ci-dessous la liste de tous les gestionnaires d'activités Teams qui peuvent être substitués pour gérer les activités de mise à jour de conversation Teams.
Type d’événement
Handler
Condition
Documentation Teams
channelCreated
onTeamsChannelCreated
Envoyée chaque fois qu'un nouveau canal est créé dans une équipe dans laquelle votre bot est installé.
La méthode ActivityHandler.onMembersAdded 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é.
La méthode ActivityHandler.onMembersRemoved 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.
Vous trouverez ci-dessous une liste de tous les gestionnaires d'activités d'équipes appelés à partir de la méthode onConversationUpdateActivity du gestionnaire d'activités de Teams.
Type d’événement
Handler
Condition
Documentation Teams
channelCreated
onTeamsChannelCreated
Envoyée chaque fois qu'un nouveau canal est créé dans une équipe dans laquelle votre bot est installé.
La méthode ActivityHandler.onMembersAdded 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é.
La méthode ActivityHandler.onMembersRemoved 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.
Vous trouverez ci-dessous une liste de tous les gestionnaires d'activités d'équipes appelés à partir de la méthode on_conversation_update_activity du gestionnaire d'activités de Teams.
Type d’événement
Handler
Condition
Documentation Teams
channelCreated
on_teams_channel_created
Envoyée chaque fois qu'un nouveau canal est créé dans une équipe dans laquelle votre bot est installé.
La méthode on_members_added_activity de la classe de base 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é.
La méthode on_members_removed_activity de la classe de base 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.
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 OnEventActivityAsyncgestionnaire d’activités Teams .
Types d’événement
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.
Il s’agit des gestionnaires d’activité d’événements spécifiques à Teams appelés à partir du onEventActivitygestionnaire d’activités Teams .
Types d’événement
Handler
Description
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
Le bot est associé à une réunion qui vient de se terminer.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
Le bot est associé à une réunion qui vient de démarrer.
Il s’agit des gestionnaires d’activité d’événements spécifiques à Teams appelés à partir du onEventActivitygestionnaire d’activités Teams .
Types d’événement
Handler
Description
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
Le bot est associé à une réunion qui vient de se terminer.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
Le bot est associé à une réunion qui vient de démarrer.
Il s’agit des gestionnaires d’activité d’événements spécifiques à Teams appelés à partir du on_event_activitygestionnaire d’activités Teams .
Types d’événement
Handler
Description
application/vnd.microsoft.meetingEnd
on_teams_meeting_end_event
Le bot est associé à une réunion qui vient de se terminer.
application/vnd.microsoft.meetingStart
on_teams_meeting_start_event
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.