Het belangrijkste verschil in bots die zijn ontwikkeld voor Microsoft Teams is de manier waarop activiteiten worden afgehandeld. De Teams-activiteitshandler is afgeleid van de activiteitshandler en verwerkt Teams-specifieke activiteitstypen voordat meer algemene activiteitstypen worden verwerkt.
Notitie
De Sdk's voor Bot Framework JavaScript, C# en Python blijven ondersteund, maar de Java SDK wordt buiten gebruik gesteld met definitieve langetermijnondersteuning die eindigt op november 2023.
Bestaande bots die zijn gebouwd met de Java SDK blijven functioneren.
Als u een bot voor Teams wilt maken, moet u uw bot afleiden uit de teams-activiteitshandlerklasse . Wanneer een dergelijke bot een activiteit ontvangt, wordt de activiteit gerouteerd via verschillende activiteitshandlers. De initiële basishandler is de draaihandler en stuurt de activiteit door naar een handler op basis van het type activiteit. De draaihandler roept de handler aan die is ontworpen om het specifieke type activiteit te verwerken dat is ontvangen. De teams-activiteitshandlerklasse is afgeleid van de klasse activiteitshandler . Naast de activiteitstypen die de activiteitshandler kan verwerken, bevat de teams-activiteitshandlerklasse aanvullende handlers voor teams-specifieke activiteiten.
Een bot die is afgeleid van de Teams-activiteitshandler, is vergelijkbaar met een bot die rechtstreeks is afgeleid van de klasse activiteitshandler.
Teams bevat echter aanvullende informatie in conversationUpdate activiteiten en verzendt Teams-specifieke invoke activiteiten.event
Wanneer uw Teams-activiteitshandler–bot een berichtactiviteit ontvangt, stuurt de handler van de functie de binnenkomende berichtactiviteit naar OnMessageActivityAsync de handler, vergelijkbaar met de manier waarop een bot op basis van een activiteitshandler zou zijn. Wanneer uw Teams-bot echter een activiteit voor het bijwerken van gesprekken ontvangt, verwerkt de Teams-versie van de OnConversationUpdateActivityAsync handler de activiteit.
Er is geen basis implementatie voor de meeste teams-specifieke activiteitshandlers. U moet deze handlers overschrijven en de juiste logica voor uw bot opgeven.
Wanneer uw Teams-activiteitshandler–bot een berichtactiviteit ontvangt, stuurt de handler van de functie de binnenkomende berichtactiviteit naar onMessage de handler, vergelijkbaar met de manier waarop een bot op basis van een activiteitshandler zou zijn. Wanneer uw Teams-bot echter een activiteit voor het bijwerken van gesprekken ontvangt, verwerkt de Teams-versie van de dispatchConversationUpdateActivity handler de activiteit.
Er is geen basis implementatie voor de meeste teams-specifieke activiteitshandlers. U moet deze handlers overschrijven en de juiste logica voor uw bot opgeven.
Wanneer u deze Teams-specifieke activiteitshandlers overschrijft, definieert u uw botlogica en moet u aan het einde aanroepennext(). Door aan te roepen next(), zorgt u ervoor dat de volgende handler wordt uitgevoerd.
Wanneer uw Teams-activiteitshandler–bot een berichtactiviteit ontvangt, stuurt de handler van de functie de binnenkomende berichtactiviteit naar onMessageActivity de handler, vergelijkbaar met de manier waarop een bot op basis van een activiteitshandler zou zijn. Wanneer uw Teams-bot echter een activiteit voor het bijwerken van gesprekken ontvangt, verwerkt de Teams-versie van de onConversationUpdateActivity handler de activiteit.
Er is geen basis implementatie voor de meeste teams-specifieke activiteitshandlers. U moet deze handlers overschrijven en de juiste logica voor uw bot opgeven.
Wanneer uw Teams-activiteitshandler–bot een berichtactiviteit ontvangt, stuurt de handler van de functie de binnenkomende berichtactiviteit naar on_message_activity de handler, vergelijkbaar met de manier waarop een bot op basis van een activiteitshandler zou zijn. Wanneer uw Teams-bot echter een activiteit voor het bijwerken van gesprekken ontvangt, verwerkt de Teams-versie van de on_conversation_update_activity handler de activiteit.
Er is geen basis implementatie voor de meeste teams-specifieke activiteitshandlers. U moet deze handlers overschrijven en de juiste logica voor uw bot opgeven.
Als u uw logica voor deze Teams-specifieke activiteitshandlers wilt implementeren, overschrijft u methoden in uw bot.
Logica voor Teams-bot
De botlogica verwerkt binnenkomende activiteiten van een of meer van uw botskanalen en genereert uitgaande activiteiten als reactie. Dit geldt nog steeds voor bot die is afgeleid van de teams-activiteitshandlerklasse, die eerst controleert op Teams-activiteiten en vervolgens alle andere activiteiten doorgeeft aan de activiteitshandler van Bot Framework.
Updateactiviteiten voor Teams-installatie
Voeg een handler toe voor de installatie-update gebeurtenis zodat uw bot:
Verzend een inleidend bericht wanneer het is geïnstalleerd op een gespreksthread.
Gebruikers- en threadgegevens opschonen wanneer ze worden verwijderd uit een thread.
Activiteiten voor het bijwerken van gesprekken in Teams
De volgende tabel bevat de Teams-gebeurtenissen die een activiteit voor het bijwerken van gesprekken in een bot genereren.
In het artikel Over het bijwerken van microsoft Teams-gesprekken wordt beschreven hoe u elk van deze gebeurtenissen gebruikt.
Hieronder ziet u een lijst met alle Teams-activiteitshandlers die worden aangeroepen vanuit de OnConversationUpdateActivityAsync methode van de Teams-activiteitshandler .
EventType
Handler
Conditie
Documentatie voor Teams
channelCreated
OnTeamsChannelCreatedAsync
Verzonden wanneer er een nieuw kanaal wordt gemaakt in een team waarin uw bot is geïnstalleerd.
Roept standaard de ActivityHandler.OnMembersAddedAsync methode aan. De eerste keer dat uw bot wordt toegevoegd aan een gesprek en telkens wanneer een nieuwe gebruiker wordt toegevoegd aan een team- of groepschat waarin uw bot is geïnstalleerd.
Roept standaard de ActivityHandler.OnMembersRemovedAsync methode aan. Verzonden als uw bot wordt verwijderd uit een team en telkens wanneer een gebruiker wordt verwijderd uit een team waarvan uw bot lid is.
Ontwikkelaars kunnen activiteiten voor gespreksupdates verwerken die via twee methoden vanuit Microsoft Teams worden verzonden:
Als u een callback wilt doorgeven, gebruikt u methoden die beginnen met onen eindigen met Event (bijvoorbeeld de onTeamsMembersAddedEvent methode).
Bij het maken van een afgeleide klasse moet u methoden overschrijven die beginnen met on en niet eindigen met Event (bijvoorbeeld de onTeamsMembersAdded methode).
Ontwikkelaars moeten slechts één van deze opties gebruiken: 1 of 2, en niet beide voor dezelfde activiteit. Dit betekent dat ontwikkelaars een callback naar de onTeamsMembersAddedEvent methode moeten doorgeven of de onTeamsMembersAdded methode in een afgeleide klasse moeten overschrijven, en niet beide.
Methoden voor het registreren van een callback
Hieronder ziet u een lijst met alle Teams-activiteitsuitzenders die zijn aangeroepen vanuit de dispatchConversationUpdateActivity methode van de Teams-activiteit-handler .
EventType
Registratiemethode
Conditie
Documentatie voor Teams
channelCreated
onTeamsChannelCreatedEvent
Verzonden wanneer er een nieuw kanaal wordt gemaakt in een team waarin uw bot is geïnstalleerd.
De eerste keer dat uw bot wordt toegevoegd aan een gesprek en telkens wanneer een nieuwe gebruiker wordt toegevoegd aan een team- of groepschat waarin uw bot is geïnstalleerd.
Methoden om te overschrijven in een afgeleide klasse
Hieronder ziet u een lijst met alle Teams-activiteitshandlers die kunnen worden overschreven om activiteiten voor het bijwerken van Teams-gesprekken af te handelen.
EventType
Handler
Conditie
Documentatie voor Teams
channelCreated
onTeamsChannelCreated
Verzonden wanneer er een nieuw kanaal wordt gemaakt in een team waarin uw bot is geïnstalleerd.
Roept standaard de ActivityHandler.onMembersAdded methode aan. De eerste keer dat uw bot wordt toegevoegd aan een gesprek en telkens wanneer een nieuwe gebruiker wordt toegevoegd aan een team- of groepschat waarin uw bot is geïnstalleerd.
Roept standaard de ActivityHandler.onMembersRemoved methode aan. Verzonden als uw bot wordt verwijderd uit een team en telkens wanneer een gebruiker wordt verwijderd uit een team waarvan uw bot lid is.
Hieronder ziet u een lijst met alle Teams-activiteitshandlers die worden aangeroepen vanuit de onConversationUpdateActivity methode van de Teams-activiteitshandler .
EventType
Handler
Conditie
Documentatie voor Teams
channelCreated
onTeamsChannelCreated
Verzonden wanneer er een nieuw kanaal wordt gemaakt in een team waarin uw bot is geïnstalleerd.
Roept standaard de ActivityHandler.onMembersAdded methode aan. De eerste keer dat uw bot wordt toegevoegd aan een gesprek en telkens wanneer een nieuwe gebruiker wordt toegevoegd aan een team- of groepschat waarin uw bot is geïnstalleerd.
Roept standaard de ActivityHandler.onMembersRemoved methode aan. Verzonden als uw bot wordt verwijderd uit een team en telkens wanneer een gebruiker wordt verwijderd uit een team waarvan uw bot lid is.
Hieronder ziet u een lijst met alle Teams-activiteitshandlers die worden aangeroepen vanuit de on_conversation_update_activity methode van de Teams-activiteitshandler .
EventType
Handler
Conditie
Documentatie voor Teams
channelCreated
on_teams_channel_created
Verzonden wanneer er een nieuw kanaal wordt gemaakt in een team waarin uw bot is geïnstalleerd.
Roept standaard de basisklassemethode on_members_added_activity aan. De eerste keer dat uw bot wordt toegevoegd aan een gesprek en telkens wanneer een nieuwe gebruiker wordt toegevoegd aan een team- of groepschat waarin uw bot is geïnstalleerd.
Roept standaard de basisklassemethode on_members_removed_activity aan. Verzonden als uw bot wordt verwijderd uit een team en telkens wanneer een gebruiker wordt verwijderd uit een team waarvan uw bot lid is.
De volgende tabel bevat de teams-specifieke gebeurtenisactiviteiten die Teams naar een bot verzendt.
De vermelde gebeurtenisactiviteiten zijn bedoeld voor gespreksbots in Teams.
Dit zijn de teams-specifieke gebeurtenisactiviteit-handlers die worden aangeroepen vanuit de OnEventActivityAsyncTeams-activiteitshandler .
Gebeurtenistypen
Handler
Beschrijving
application/vnd.microsoft.meetingEnd
OnTeamsMeetingEndAsync
De bot is gekoppeld aan een vergadering die zojuist is beëindigd.
application/vnd.microsoft.meetingStart
OnTeamsMeetingStartAsync
De bot is gekoppeld aan een vergadering die zojuist is gestart.
Dit zijn de teams-specifieke gebeurtenisactiviteit-handlers die worden aangeroepen vanuit de onEventActivityTeams-activiteitshandler .
Gebeurtenistypen
Handler
Beschrijving
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
De bot is gekoppeld aan een vergadering die zojuist is beëindigd.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
De bot is gekoppeld aan een vergadering die zojuist is gestart.
Dit zijn de teams-specifieke gebeurtenisactiviteit-handlers die worden aangeroepen vanuit de onEventActivityTeams-activiteitshandler .
Gebeurtenistypen
Handler
Beschrijving
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
De bot is gekoppeld aan een vergadering die zojuist is beëindigd.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
De bot is gekoppeld aan een vergadering die zojuist is gestart.
Dit zijn de teams-specifieke gebeurtenisactiviteit-handlers die worden aangeroepen vanuit de on_event_activityTeams-activiteitshandler .
Gebeurtenistypen
Handler
Beschrijving
application/vnd.microsoft.meetingEnd
on_teams_meeting_end_event
De bot is gekoppeld aan een vergadering die zojuist is beëindigd.
application/vnd.microsoft.meetingStart
on_teams_meeting_start_event
De bot is gekoppeld aan een vergadering die zojuist is gestart.
Teams roept activiteiten aan
De volgende tabel bevat de teams-specifieke aanroepactiviteiten die Teams naar een bot verzendt.
De vermelde aanroepactiviteiten zijn bedoeld voor gespreksbots in Teams. De Bot Framework SDK biedt ook ondersteuning voor aanroepen die specifiek zijn voor berichtextensies. Zie het artikel Over berichtenextensies in Teams voor meer informatie.
Notitie
Microsoft Teams-platformdocumentatie en Teams JavaScript-clientbibliotheek (TeamsJS) verwijzen naar taakmodules als modale dialoogvensters. Zie Dialoogvensters voor meer informatie.