Gestionnaire d'activité du robot

Ce document s’appuie sur l’article sur le fonctionnement des bots dans la documentation principale de Bot Framework. La principale différence entre les bots développés pour Microsoft Teams et Bot Framework principal est dans les fonctionnalités fournies dans Teams.

Pour organiser la logique de conversation de votre bot, un responsable de l’activité est utilisé. Les activités sont gérées de deux manières à l’aide Teams’activité et de la logique du bot. Le Teams d’activité ajoute la prise en charge Microsoft Teams des interactions et des événements spécifiques. L’objet bot contient le raisonnement ou la logique de conversation d’un tour et expose un sous-traiteur de tour, qui est la méthode qui peut accepter les activités entrantes à partir de la carte du bot.

Teams d’activité de l’entreprise

Teams d’activité est dérivé du Microsoft Bot Framework’activité de l’entreprise. Il route toutes les Teams avant d’autoriser toute activité non Teams des activités spécifiques à gérer.

Lorsqu’un bot pour Teams une activité, il est acheminé vers les responsables de l’activité. Toutes les activités sont acheminées par le biais d’un seul handler de base appelé « turn handler ». Le sous-traiteur de tour appelle le handler d’activité requis pour gérer les activités reçues. Le Teams bot est dérivé de la classe, qui est dérivée de la classe TeamsActivityHandler bot ActivityHandler Framework.

Les bots sont créés à l’aide de Bot Framework. Si les bots reçoivent une activité de message, le turn handler reçoit une notification de cette activité entrante. Le handler turn envoie ensuite l’activité entrante au OnMessageActivityAsync handler d’activité. Dans Teams, cette fonctionnalité reste la même. Si le bot reçoit une activité de mise à jour de conversation, le turn handler reçoit une notification de cette activité entrante et envoie l’activité entrante à OnConversationUpdateActivityAsync . Le Teams d’activité vérifie d’abord s’il Teams événements spécifiques. Si aucun événement n’est trouvé, il les transmet ensuite au programme de gestion d’activité de Bot Framework.

Dans la Teams de l’activité, il existe deux principaux Teams d’activité, OnConversationUpdateActivityAsync et OnInvokeActivityAsync . OnConversationUpdateActivityAsyncroute toutes les activités de mise à jour de conversation et OnInvokeActivityAsync Teams les activités d’appel.

Pour implémenter votre logique pour Teams d’activité spécifiques, vous devez remplacer les méthodes dans votre bot, comme indiqué dans la section logique du bot. Il n’existe aucune implémentation de base pour ces handlers, par conséquent, vous devez ajouter la logique que vous souhaitez dans votre substitution.

Logique du bot

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

Principaux handlers Bot Framework

Notes

À l’exception des activités des membres ajoutés et supprimés, tous les responsables d’activité décrits dans cette section continuent de fonctionner de la même Teams bot.

Les responsables d’activité sont différents dans le contexte d’une équipe, où un nouveau membre est ajouté à l’équipe au lieu d’un thread de message.

La liste des handlers définis dans ActivityHandler inclut les suivants :

Événement Handler Description
Tout type d’activité reçu OnTurnAsync Cette méthode appelle l’un des autres handlers, en fonction du type d’activité reçue.
Activité de message reçue OnMessageActivityAsync Cette méthode peut être overridée pour gérer une Message activité.
Activité de mise à jour de conversation reçue OnConversationUpdateActivityAsync Cette méthode appelle un handler si des membres autres que le bot ont rejoint ou quitté la conversation, lors d’une ConversationUpdate activité.
Les membres non-bot ont rejoint la conversation OnMembersAddedAsync Cette méthode peut être overridée pour gérer les membres qui rejoignent une conversation.
Les membres non-bot ont quitté la conversation OnMembersRemovedAsync Cette méthode peut être overridée pour gérer les membres quittant une conversation.
Activité d’événement reçue OnEventActivityAsync Cette méthode appelle un handler spécifique au type d’événement, sur une Event activité.
Activité d’événement de réponse de jeton reçue OnTokenResponseEventAsync Cette méthode peut être overridée pour gérer les événements de réponse de jeton.
Activité d’événement de réponse sans jeton reçue OnEventAsync Cette méthode peut être overridée pour gérer d’autres types d’événements.
Autre type d’activité reçu OnUnrecognizedActivityTypeAsync Cette méthode peut être overridée pour gérer tout type d’activité autrement non géré.

Teams d’activité spécifiques

Il étend la liste des handlers dans la section principale des TeamsActivityHandler handlers Bot Framework pour inclure les éléments suivants :

Événement Handler Description
channelCreated OnTeamsChannelCreatedAsync Cette méthode peut être overridée pour gérer un canal Teams en cours de création. Pour plus d’informations, voir le canal créé dans les événements de mise à jour de conversation.
channelDeleted OnTeamsChannelDeletedAsync Cette méthode peut être supprimée pour gérer un canal Teams en cours de suppression. Pour plus d’informations, voir canal supprimé dans les événements de mise à jour de conversation.
channelRenamed OnTeamsChannelRenamedAsync Cette méthode peut être changée pour gérer un canal Teams renommé. Pour plus d’informations, voir canal renommé dans les événements de mise à jour de conversation.
teamRenamed OnTeamsTeamRenamedAsync return Task.CompletedTask;Cette méthode peut être changée pour gérer une équipe Teams renommée. Pour plus d’informations, voir l’équipe renommée dans les événements de mise à jour de conversation.
MembersAdded OnTeamsMembersAddedAsync Cette méthode appelle la OnMembersAddedAsync méthode dans ActivityHandler . La méthode peut être overridée pour gérer les membres qui rejoignent une équipe. Pour plus d’informations, voir les membres de l’équipe ajoutés aux événements de mise à jour de conversation.
MembersRemoved OnTeamsMembersRemovedAsync Cette méthode appelle la OnMembersRemovedAsync méthode dans ActivityHandler . La méthode peut être overridée pour gérer les membres quittant une équipe. Pour plus d’informations, voir les membres de l’équipe supprimés dans les événements de mise à jour de conversation.

Teams activités d’appel

La liste des Teams d’activité appelés à partir du OnInvokeActivityAsync Teams’activité sont les suivants :

Types d’appel Handler Description
CardAction.Invoke OnTeamsCardActionInvokeAsync Cette méthode est invoquée lorsqu’une activité d’appel d’action de carte est reçue du connecteur.
fileConsent/invoke OnTeamsFileConsentAcceptAsync Cette méthode est invoquée lorsqu’une carte de consentement de fichier est acceptée par l’utilisateur.
fileConsent/invoke OnTeamsFileConsentAsync Cette méthode est invoquée lorsqu’une activité de carte de consentement de fichier est reçue du connecteur.
fileConsent/invoke OnTeamsFileConsentDeclineAsync Cette méthode est invoquée lorsqu’une carte de consentement de fichier est refusée par l’utilisateur.
actionableMessage/executeAction OnTeamsO365ConnectorCardActionAsync Cette méthode est invoquée lorsqu’une activité d’action de carte de connecteur O365 est reçue du connecteur.
signin/verifyState OnTeamsSigninVerifyStateAsync Cette méthode est invoquée lorsqu’une activité de vérification de l’état signIn est reçue du connecteur.
task/fetch OnTeamsTaskModuleFetchAsync Cette méthode peut être overridée dans une classe dérivée pour fournir une logique lorsqu’un module de tâche est extrait.
tâche/soumission OnTeamsTaskModuleSubmitAsync Cette méthode peut être overridée dans une classe dérivée pour fournir une logique lorsqu’un module de tâche est envoyé.

Les activités d’appel répertoriées dans cette section sont pour les bots de conversation Teams. Le SDK Bot Framework prend également en charge les activités d’appel spécifiques aux extensions de messagerie. Pour plus d’informations, voir les extensions de messagerie.


Maintenant que vous vous êtes familiarisé avec les personnes qui gèrent l’activité des bots, laissez-nous voir comment les bots se comportent différemment en fonction de la conversation et des messages qu’il reçoit ou envoie.

Étape suivante