Der Hauptunterschied bei Bots, die für Microsoft Teams entwickelt wurden, besteht in der Verarbeitung von Aktivitäten. Der Teams-Aktivitätshandler wird vom Aktivitätshandler abgeleitet und verarbeitet teamsspezifische Aktivitätstypen, bevor allgemeinere Aktivitätstypen verarbeitet werden.
Hinweis
Die JavaScript-, C#- und Python-SDKs für Bot Framework werden weiterhin unterstützt, das Java-SDK wird jedoch eingestellt und der langfristige Support endet im November 2023.
Bestehende Bots, die mit dem Java SDK erstellt wurden, werden weiterhin funktionieren.
Um einen Bot für Teams zu erstellen, leiten Sie Ihren Bot von der Teams-Aktivitätshandler-Klasse ab. Wenn ein solcher Bot eine Aktivität empfängt, leitet er die Aktivität über verschiedene Aktivitätshandler weiter. Der anfängliche Basishandler ist der Turnhandler und leitet die Aktivität basierend auf dem Aktivitätstyp an einen Handler weiter. Der Turnhandler ruft den Handler auf, der für die spezifische Art der empfangenen Aktivität vorgesehen ist. Die Teams-Aktivitätshandler-Klasse wird von der Aktivitätshandler-Klasse abgeleitet. Zusätzlich zu den Aktivitätstypen, die der Aktivitätshandler verarbeiten kann, enthält die Teams-Aktivitätshandlerklasse zusätzliche Handler für Teams-spezifische Aktivitäten.
Ein Bot, der vom Teams-Aktivitätshandler abgeleitet wird, ähnelt einem Bot, der direkt von der Aktivitätshandlerklasse abgeleitet wird.
Teams enthält jedoch zusätzliche Informationen in conversationUpdate-Aktivitäten und sendet Teams-spezifische invoke- und event-Aktivitäten.
Wenn Ihr Teams-Aktivitätshandler-Bot eine Nachrichtenaktivität empfängt, leitet der Turnhandler die eingehende Nachrichtenaktivität an seinen OnMessageActivityAsync-Handler weiter, ähnlich wie ein aktivitätshandlerbasierter Bot. Wenn Ihr Teams-Bot jedoch eine Unterhaltungsaktualisierungsaktivität empfängt, verarbeitet die Teams-Version des OnConversationUpdateActivityAsync-Handlers die Aktivität.
Es gibt keine Basisimplementierung für die meisten der Teams-spezifischen Aktivitätshandler. Sie müssen diese Handler überschreiben und entsprechende Logik für Ihren Bot bereitstellen.
Wenn Ihr Teams-Aktivitätshandler-Bot eine Nachrichtenaktivität empfängt, leitet der Turnhandler die eingehende Nachrichtenaktivität an seinen onMessage-Handler weiter, ähnlich wie ein aktivitätshandlerbasierter Bot. Wenn Ihr Teams-Bot jedoch eine Unterhaltungsaktualisierungsaktivität empfängt, verarbeitet die Teams-Version des dispatchConversationUpdateActivity-Handlers die Aktivität.
Es gibt keine Basisimplementierung für die meisten der Teams-spezifischen Aktivitätshandler. Sie müssen diese Handler überschreiben und entsprechende Logik für Ihren Bot bereitstellen.
Definieren Sie Ihre Bot-Logik, wenn Sie diese teamspezifischen Aktivitätshandler überschreiben und rufen Sie am Ende next() auf. Durch Aufrufen von next() wird sichergestellt, dass der nächste Handler ausgeführt wird.
Wenn Ihr Teams-Aktivitätshandler-Bot eine Nachrichtenaktivität empfängt, leitet der Turnhandler die eingehende Nachrichtenaktivität an seinen onMessageActivity-Handler weiter, ähnlich wie ein aktivitätshandlerbasierter Bot. Wenn Ihr Teams-Bot jedoch eine Unterhaltungsaktualisierungsaktivität empfängt, verarbeitet die Teams-Version des onConversationUpdateActivity-Handlers die Aktivität.
Es gibt keine Basisimplementierung für die meisten der Teams-spezifischen Aktivitätshandler. Sie müssen diese Handler überschreiben und entsprechende Logik für Ihren Bot bereitstellen.
Wenn Ihr Teams-Aktivitätshandler-Bot eine Nachrichtenaktivität empfängt, leitet der Turnhandler die eingehende Nachrichtenaktivität an seinen on_message_activity-Handler weiter, ähnlich wie ein aktivitätshandlerbasierter Bot. Wenn Ihr Teams-Bot jedoch eine Unterhaltungsaktualisierungsaktivität empfängt, verarbeitet die Teams-Version des on_conversation_update_activity-Handlers die Aktivität.
Es gibt keine Basisimplementierung für die meisten der Teams-spezifischen Aktivitätshandler. Sie müssen diese Handler überschreiben und entsprechende Logik für Ihren Bot bereitstellen.
Alle Aktivitätshandler, die im Abschnitt zur Aktivitätsbehandlung des Artikels Ereignisgesteuerte Unterhaltungen mit einem Aktivitätshandler beschrieben sind, funktionieren weiterhin wie für einen nicht für Teams bestimmten Bot – mit Ausnahme der Aktivitäten zum Hinzufügen und Entfernen von Mitgliedern, die sich im Kontext eines Teams unterscheiden, da das neue Mitglied dem Team hinzugefügt wird und nicht in einem Nachrichten-Thread. Weitere Informationen finden Sie unter Aktualisierungsaktivitäten für Teams-Unterhaltungen.
Um Ihre Logik für diese teamspezifischen Aktivitätshandler zu implementieren, werden Sie Methoden in Ihrem Bot außer Kraft setzen.
Teams-Botlogik
Die Botlogik verarbeitet eingehende Aktivitäten aus einem oder mehreren Ihrer Botkanäle und generiert als Reaktion ausgehende Aktivitäten. Dies gilt weiterhin für Bots, die von der Teams-Aktivitätshandlerklasse abgeleitet werden. Zuerst wird eine Überprüfung auf Teams-Aktivitäten durchgeführt, und anschließend werden alle anderen Aktivitäten an den Aktivitätshandler von Bot Framework übergeben.
Aktualisierungsaktivitäten von Teams bei der Installation
Fügen Sie einen Handler für das Installationsupdate-Ereignis hinzu, damit Ihr Bot:
eine einleitende Nachricht senden kann, wenn er in einem Konversations-Thread installiert wird.
die Benutzer- und Thread-Daten bereinigt, wenn er von einem Thread deinstalliert wird.
Teams-Aktivitäten für die Konversationsaktualisierung
In den folgenden Tabellenlisten sind die Teams-Ereignisse aufgeführt, die eine Unterhaltungsaktualisierungs-Aktivität in einem Bot generieren.
Im Artikel zu den Ereignissen der Konversationsaktualisierung von Microsoft Teams wird beschrieben, wie Sie diese einzelnen Ereignisse verwenden.
Unten ist eine Liste mit allen Teams-Aktivitätshandlern angegeben, die über den OnConversationUpdateActivityAsync-Methoden der Teams-Aktivitätshandler aufgerufen werden.
EventType
Handler
Bedingung
Teams-Dokumentation
channelCreated
OnTeamsChannelCreatedAsync
Wird gesendet, wenn ein neuer Kanal in einem Team erstellt wird, in dem Ihr Bot installiert ist.
Ruft standardmäßig die ActivityHandler.OnMembersAddedAsync-Methode auf. Wird gesendet, wenn Ihr Bot zum ersten Mal zu einer Unterhaltung hinzugefügt wird und jedes Mal, wenn ein neuer Benutzer zu einem Team- oder Gruppen-Chat hinzugefügt wird, in dem Ihr Bot installiert ist.
Ruft standardmäßig die ActivityHandler.OnMembersRemovedAsync-Methode auf. Wird gesendet, wenn Ihr Bot aus einem Team entfernt wird und jedes Mal, wenn ein Benutzer aus einem Team entfernt wird, in dem Ihr Bot Mitglied ist.
Entwickler können Unterhaltungsaktualisierungsaktivitäten behandeln, die über zwei Methoden von Microsoft Teams gesendet werden:
Verwenden Sie Zum Übergeben eines Rückrufs Methoden, die mit onund enden Event (z. B. die onTeamsMembersAddedEvent Methode).
Wenn Sie eine abgeleitete Klasse erstellen, überschreiben Sie Methoden, die mit on beginnen und nicht mit Event enden (z. B. die onTeamsMembersAdded-Methode).
Entwickler sollten nur eine der folgenden Optionen verwenden: entweder 1 oder 2, und nicht beides für dieselbe Aktivität. Das heißt, Entwickler sollten entweder einen Rückruf an die onTeamsMembersAddedEvent-Methode übergeben oder die onTeamsMembersAdded-Methode in einer abgeleiteten Klasse überschreiben und nicht beides tun.
Methoden zum Registrieren eines Rückrufs
Unten ist eine Liste mit allen Teams-Aktivitätsemitters angegeben, die über den dispatchConversationUpdateActivity-Methoden der Teams-Aktivitätshandler aufgerufen werden.
EventType
Registrierungsmethode
Bedingung
Teams-Dokumentation
channelCreated
onTeamsChannelCreatedEvent
Wird gesendet, wenn ein neuer Kanal in einem Team erstellt wird, in dem Ihr Bot installiert ist.
Wird gesendet, wenn Ihr Bot zum ersten Mal zu einer Unterhaltung hinzugefügt wird und jedes Mal, wenn ein neuer Benutzer zu einem Team- oder Gruppen-Chat hinzugefügt wird, in dem Ihr Bot installiert ist.
Methoden zum Überschreiben in einer abgeleiteten Klasse
Nachfolgend finden Sie eine Liste aller Teams-Aktivitätshandler, die überschrieben werden können, um Unterhaltungsaktualisierungsaktivitäten von Teams zu verarbeiten.
EventType
Handler
Bedingung
Teams-Dokumentation
channelCreated
onTeamsChannelCreated
Wird gesendet, wenn ein neuer Kanal in einem Team erstellt wird, in dem Ihr Bot installiert ist.
Ruft standardmäßig die ActivityHandler.onMembersAdded-Methode auf. Wird gesendet, wenn Ihr Bot zum ersten Mal zu einer Unterhaltung hinzugefügt wird und jedes Mal, wenn ein neuer Benutzer zu einem Team- oder Gruppen-Chat hinzugefügt wird, in dem Ihr Bot installiert ist.
Ruft standardmäßig die ActivityHandler.onMembersRemoved-Methode auf. Wird gesendet, wenn Ihr Bot aus einem Team entfernt wird und jedes Mal, wenn ein Benutzer aus einem Team entfernt wird, in dem Ihr Bot Mitglied ist.
Unten ist eine Liste mit allen Teams-Aktivitätshandlern angegeben, die über den onConversationUpdateActivity-Methoden der Teams-Aktivitätshandler aufgerufen werden.
EventType
Handler
Bedingung
Teams-Dokumentation
channelCreated
onTeamsChannelCreated
Wird gesendet, wenn ein neuer Kanal in einem Team erstellt wird, in dem Ihr Bot installiert ist.
Ruft standardmäßig die ActivityHandler.onMembersAdded-Methode auf. Wird gesendet, wenn Ihr Bot zum ersten Mal zu einer Unterhaltung hinzugefügt wird und jedes Mal, wenn ein neuer Benutzer zu einem Team- oder Gruppen-Chat hinzugefügt wird, in dem Ihr Bot installiert ist.
Ruft standardmäßig die ActivityHandler.onMembersRemoved-Methode auf. Wird gesendet, wenn Ihr Bot aus einem Team entfernt wird und jedes Mal, wenn ein Benutzer aus einem Team entfernt wird, in dem Ihr Bot Mitglied ist.
Unten ist eine Liste mit allen Teams-Aktivitätshandlern angegeben, die über den on_conversation_update_activity-Methoden der Teams-Aktivitätshandler aufgerufen werden.
EventType
Handler
Bedingung
Teams-Dokumentation
channelCreated
on_teams_channel_created
Wird gesendet, wenn ein neuer Kanal in einem Team erstellt wird, in dem Ihr Bot installiert ist.
Ruft standardmäßig die on_members_added_activity-Methode der Basisklasse auf. Wird gesendet, wenn Ihr Bot zum ersten Mal zu einer Unterhaltung hinzugefügt wird und jedes Mal, wenn ein neuer Benutzer zu einem Team- oder Gruppen-Chat hinzugefügt wird, in dem Ihr Bot installiert ist.
Ruft standardmäßig die on_members_removed_activity-Methode der Basisklasse auf. Wird gesendet, wenn Ihr Bot aus einem Team entfernt wird und jedes Mal, wenn ein Benutzer aus einem Team entfernt wird, in dem Ihr Bot Mitglied ist.
In der folgenden Tabelle sind die Teams-spezifischen Ereignisaktivitäten aufgeführt, die Teams an einen Bot sendet.
Die oben aufgeführten Ereignisaktivitäten sind für Konversationsbots in Teams bestimmt.
Dies sind die teamsspezifischen Ereignisaktivitätshandler, die OnEventActivityAsyncvom Teams-Aktivitätshandler aufgerufen werden.
Ereignistypen
Handler
Beschreibung
application/vnd.microsoft.meetingEnd
OnTeamsMeetingEndAsync
Der Bot ist einer soeben beendeten Besprechung zugeordnet.
application/vnd.microsoft.meetingStart
OnTeamsMeetingStartAsync
Der Bot ist einer soeben gestarteten Besprechung zugeordnet.
Dies sind die teamsspezifischen Ereignisaktivitätshandler, die onEventActivityvom Teams-Aktivitätshandler aufgerufen werden.
Ereignistypen
Handler
Beschreibung
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
Der Bot ist einer soeben beendeten Besprechung zugeordnet.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
Der Bot ist einer soeben gestarteten Besprechung zugeordnet.
Dies sind die teamsspezifischen Ereignisaktivitätshandler, die onEventActivityvom Teams-Aktivitätshandler aufgerufen werden.
Ereignistypen
Handler
Beschreibung
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
Der Bot ist einer soeben beendeten Besprechung zugeordnet.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
Der Bot ist einer soeben gestarteten Besprechung zugeordnet.
Dies sind die teamsspezifischen Ereignisaktivitätshandler, die on_event_activityvom Teams-Aktivitätshandler aufgerufen werden.
Ereignistypen
Handler
Beschreibung
application/vnd.microsoft.meetingEnd
on_teams_meeting_end_event
Der Bot ist einer soeben beendeten Besprechung zugeordnet.
application/vnd.microsoft.meetingStart
on_teams_meeting_start_event
Der Bot ist einer soeben gestarteten Besprechung zugeordnet.
Teams-Aufrufaktivitäten
In der folgenden Tabelle sind die Teams-spezifischen Aufrufaktivitäten aufgeführt, die Teams an einen Bot sendet.
Die aufgeführten Aufrufaktivitäten sind für Konversationsbots in Teams bestimmt. Das Bot Framework SDK unterstützt auch spezifische Aufrufe für Messaging-Erweiterungen. Weitere Informationen finden Sie im Artikel Was sind Messaging-Erweiterungen? von Teams.
Hinweis
Die Dokumentation zur Microsoft-Teams-Plattform und die Teams-JavaScript-Clientbibliothek (TeamsJS) beziehen sich auf Aufgabenmodule als modale Dialoge. Weitere Informationen finden Sie unter Dialoge.