Bot-GrundlagenBot basics

Dies ist eine Einführung, die auf dem Artikel aufbaut, in dem die Bots in der zentralen bot-Framework-Dokumentation arbeiten .This is an introduction that builds on the article How bots work in the core Bot Framework documentation. Möglicherweise finden Sie diesen Artikel und die anderen Artikel im Abschnitt " Konzepte " hilfreich.You may find that article, and the other articles in the Concepts section, useful.

Der Hauptunterschied bei den für Microsoft Teams entwickelten Bots liegt in der Art und Weise, wie Aktivitäten behandelt werden.The primary difference in bots developed for Microsoft Teams is in how activities are handled. Der Microsoft Teams-Aktivitäts Handler wird vom Aktivitäts Handler des bot-Frameworks abgeleitet, um alle Teams-Aktivitäten weiterzuleiten, bevor nicht-Teams-spezifische Aktivitäten verarbeitet werden können.The Microsoft Teams activity handler derives from the Bot Framework's activity handler to route all Teams activities before allowing any non-Teams specific activities to be handled.

Teams-Aktivitäts HandlerTeams Activity handlers

Wenn ein bot für Microsoft Teams eine Aktivität empfängt, übergibt er ihn an seine Aktivitäts Handler.When a bot for Microsoft Teams receives an activity, it passes it on to its activity handlers. Unter dem Cover gibt es einen Basis Handler namens Turn Handler, über den alle Aktivitäten weitergeleitet werden.Under the covers, there's one base handler called the turn handler, that all activities are routed through. Der Turn-Handler Ruft den erforderlichen Aktivitäts Handler auf, um den Typ der empfangenen Aktivität zu verarbeiten.The turn handler calls the required activity handler to handle whatever type of activity was received. Wenn ein bot, der für Microsoft Teams entwickelt wurde, unterschiedlich TeamsActivityHandler ist, wird er von der Klasse abgeleitet, ActivityHandler die von der Klasse des bot-Frameworks abgeleitet ist.Where a bot designed for Microsoft Teams differs is that it is derived from TeamsActivityHandler class that is derived from the Bot Framework's ActivityHandler class.

Wie bei jedem bot, der mit dem Microsoft bot-Framework erstellt wurde, wenn der bot eine Nachrichtenaktivität empfängt, sieht der Turn-Handler diese eingehende OnMessageActivityAsync Aktivität und sendet Sie an den Aktivitäts Handler.As with any bot created using the Microsoft Bot Framework, if the bot receives a message activity, the turn handler sees that incoming activity and sends it to the OnMessageActivityAsync activity handler. In Microsoft Teams bleibt diese Funktionalität gleich.In Teams, this functionality remains the same. Wenn der bot eine Unterhaltungs Aktualisierungsaktivität empfängt, sieht der Turn-Handler diese eingehende Aktivität und sendet Sie OnConversationUpdateActivityAsync an den Teams -Aktivitäts Handler, der zuerst nach Teams-spezifischen Ereignissen sucht und Sie an den Aktivitäts Handler des bot-Frameworks übergibt, wenn keine gefunden wird.If the bot receives a conversation update activity, the turn handler sees that incoming activity and sends it to the OnConversationUpdateActivityAsync Teams activity handler that will first check for any Teams specific events and pass it along to the Bot Framework's activity handler if none are found.

In der Teams-Aktivitäts Handlerklasse gibt es zwei primäre Teams-Aktivitäts Handler, OnConversationUpdateActivityAsync die alle Aktivitäten für das Unterhaltungs Update weiter OnInvokeActivityAsync leiten und alle Teams-Aufruf Aktivitäten weiterleitet.In the Teams activity handler class, there are two primary Teams activity handlers, OnConversationUpdateActivityAsync that routes all conversation update activities, and OnInvokeActivityAsync that routes all Teams invoke activities.

Um Ihre Logik für Teams-spezifische Aktivitäts Handler zu implementieren, werden Sie diese Methoden in Ihrem bot außer Kraft setzen, wie im Abschnitt " bot Logic " weiter unten gezeigt.To implement your logic for Teams specific activity handlers, you'll override these methods in your bot as shown in the Bot logic section below. Für jeden dieser Handler gibt es keine Basisimplementierung, fügen Sie also einfach die Logik hinzu, die Sie in die Außerkraftsetzung einfügen möchten.For each of these handlers, there is no base implementation, so just add the logic that you want in your override.

Bot-LogikBot logic

Die bot-Logik verarbeitet eingehende Aktivitäten von einem oder mehreren ihrer bot-Kanäle und generiert ausgehende Aktivitäten als Reaktion.The bot logic processes incoming activities from one or more of your bot channels and generates outgoing activities in response. Dies gilt immer noch für Bots, die von der Teams-Aktivitäts Handlerklasse abgeleitet wurden, die zunächst nach Teams-Aktivitäten sucht, und übergibt dann alle anderen Aktivitäten an den bot-Frameworks-Aktivitäts Handler.This is still true of bots derived from the Teams activity handler class, which first checks for Teams activities, then passes all other activities to the bot frameworks activity handler.

Zentrale bot-Framework-HandlerCore Bot Framework handlers

Alle unten beschriebenen Aktivitäts Handler funktionieren weiterhin wie bei einem nicht-Teams-bot, mit Ausnahme der Aktivitäten "Mitglieder hinzugefügt " und " entfernte Mitglieder" werden diese im Kontext eines Teams unterschiedlich sein, wobei das neue Mitglied dem Team im Gegensatz zu einem Nachrichtenthread hinzugefügt wird.All of the activity handlers described below will continue to work as they do with a non-Teams bot, with the exception of handling members added and members removed activities, these will be different in the context of a team, where the new member is added to the team as opposed to a message thread.

Die in ActivityHandler definierten Handler werden unten beschrieben.The handlers defined in ActivityHandler are outlined below.

EreignisEvent HandlerHandler BeschreibungDescription
Alle empfangenen AktivitätstypenAny activity type received OnTurnAsync Ruft einen der anderen Handler basierend auf dem Typ der empfangenen Aktivität auf.Calls one of the other handlers, based on the type of activity received.
Empfangene NachrichtenaktivitätMessage activity received OnMessageActivityAsync Überschreiben Sie diese, Message um eine Aktivität zu verarbeiten.Override this to handle a Message activity.
Empfangene Unterhaltungs Update AktivitätConversation update activity received OnConversationUpdateActivityAsync Bei einer ConversationUpdate Aktivität wird ein Handler aufgerufen, wenn andere Mitglieder als der bot der Unterhaltung beigetreten sind oder diese verließen.On a ConversationUpdate activity, calls a handler if members other than the bot joined or left the conversation.
Nicht-bot-Mitglieder sind der Unterhaltung beigetretenNon-bot members joined the conversation OnMembersAddedAsync Überschreiben Sie diese, um Mitglieder zu behandeln, die einer Unterhaltung beitreten.Override this to handle members joining a conversation.
Nicht-bot-Mitglieder haben die Unterhaltung verlassenNon-bot members left the conversation OnMembersRemovedAsync Überschreiben Sie diese, um Mitglieder zu behandeln, die eine Unterhaltung hinterlassen.Override this to handle members leaving a conversation.
Empfangene EreignisaktivitätEvent activity received OnEventActivityAsync Ruft für Event eine Aktivität einen für den Ereignistyp spezifischen Handler auf.On an Event activity, calls a handler specific to the event type.
Empfangene Token-Response-EreignisaktivitätToken-response event activity received OnTokenResponseEventAsync Überschreiben Sie diese, um Token-Antwortereignisse zu behandeln.Override this to handle token response events.
Nicht-Token-Response-Ereignisaktivität empfangenNon-token-response event activity received OnEventAsync Überschreiben Sie dies, um andere Arten von Ereignissen zu behandeln.Override this to handle other types of events.
Empfangene andere AktivitätstypenOther activity type received OnUnrecognizedActivityTypeAsync Überschreiben Sie diese, um alle anderweitig unbehandelten Aktivitätstypen zu verarbeiten.Override this to handle any activity type otherwise unhandled.

Teams-spezifische HandlerTeams-specific handlers

Die TeamsActivityHandler Liste der Handler oben wird erweitert, um Folgendes einzuschließen:The TeamsActivityHandler extends the list of handlers above to include the following:

EreignisEvent HandlerHandler BeschreibungDescription
channelCreatedchannelCreated OnTeamsChannelCreatedAsync Überschreiben Sie diesen, um einen Teams-Kanal zu verarbeiten, der erstellt wird.Override this to handle a Teams channel being created. Weitere Informationen finden Sie unter Unterhaltungs Update Ereignisse erstellter Kanal .For more information see Channel created in Conversation update events.
channelDeletedchannelDeleted OnTeamsChannelDeletedAsync Überschreiben Sie diesen, um einen Microsoft Teams-Kanal zu verarbeiten, der gelöscht wird.Override this to handle a Teams channel being deleted. Weitere Informationen finden Sie unter unter Haltungs Update-Ereignisse gelöschter Kanal .For more information see Channel deleted in Conversation update events.
channelRenamedchannelRenamed OnTeamsChannelRenamedAsync Überschreiben Sie diesen, um einen umbenannten Microsoft Teams-Kanal zu verarbeiten.Override this to handle a Teams channel being renamed. Weitere Informationen finden Sie unter Conversation Update Events umbenannt in Channel .For more information see Channel renamed in Conversation update events.
teamRenamedteamRenamed OnTeamsTeamRenamedAsync return Task.CompletedTask;Überschreiben Sie dies, um ein Teams-Team zu behandeln, das umbenannt wird.return Task.CompletedTask; Override this to handle a Teams Team being Renamed. Weitere Informationen finden Sie unter Conversation Update Events umbenanntes Team .For more information see Team renamed in Conversation update events.
MembersAddedMembersAdded OnTeamsMembersAddedAsync Ruft die OnMembersAddedAsync -Methode ActivityHandlerin auf.Calls the OnMembersAddedAsync method in ActivityHandler. Überschreiben Sie diese, um Mitglieder zu behandeln, die einem Team beitreten.Override this to handle members joining a team. Weitere Informationen finden Sie unter Unterhaltungs Update Ereignisse hinzugefügtes Team Mitglied .For more information see Team member added in Conversation update events.
MembersRemovedMembersRemoved OnTeamsMembersRemovedAsync Ruft die OnMembersRemovedAsync -Methode ActivityHandlerin auf.Calls the OnMembersRemovedAsync method in ActivityHandler. Überschreiben Sie diese, um Mitglieder zu behandeln, die ein Team verlassen.Override this to handle members leaving a team. Weitere Informationen finden Sie unter Unterhaltungs Update Ereignisse entferntes Team Mitglied .For more information see Team member removed in Conversation update events.

Teams rufen Aktivitäten aufTeams invoke activities

Im folgenden finden Sie eine Liste aller von dem OnInvokeActivityAsync Microsoft Teams -Aktivitäts Handler aufgerufenen Teams-Aktivitäts Handler:Here is a list of all of the Teams activity handlers called from the OnInvokeActivityAsync Teams activity handler:

Invoke-TypenInvoke types HandlerHandler BeschreibungDescription
Karten AufrufCardAction.Invoke OnTeamsCardActionInvokeAsync Aktionsaufruf für Teams-Karten.Teams Card Action Invoke.
fileeinwilligung/InvokefileConsent/invoke OnTeamsFileConsentAcceptAsync Zustimmung der Teams-Datei akzeptieren.Teams File Consent Accept.
fileeinwilligung/InvokefileConsent/invoke OnTeamsFileConsentAsync Zustimmung der Teams-Datei.Teams File Consent.
fileeinwilligung/InvokefileConsent/invoke OnTeamsFileConsentDeclineAsync Zustimmung der Teams-Datei.Teams File Consent.
actionableMessage/Execute-BefehlactionableMessage/executeAction OnTeamsO365ConnectorCardActionAsync Teams O365-Verbindungskarten Aktion.Teams O365 Connector Card Action.
SignIn/verifyStatesignin/verifyState OnTeamsSigninVerifyStateAsync Teams melden Sie sich im Verify-Zustand an.Teams Sign in Verify State.
Aufgabe/Abruftask/fetch OnTeamsTaskModuleFetchAsync Aufgabenmodul FETCH für Teams.Teams Task Module Fetch.
Aufgabe/Absendentask/submit OnTeamsTaskModuleSubmitAsync Aufgabenmodul "Teams" übermitteln.Teams Task Module Submit.

Die oben aufgeführten Invoke-Aktivitäten gelten für Unterhaltungs Bots in Microsoft Teams.The invoke activities listed above are for conversational bots in Teams. Das bot-Framework-SDK unterstützt auch Aufrufe speziell für Messaging-Erweiterungen.The Bot Framework SDK also supports invokes specific to messaging extensions. Weitere Informationen finden Sie unter What are Messaging ExtensionsFor more information see What are messaging extensions