Delen via


Hoe Microsoft Teams-bots werken

VAN TOEPASSING OP: SDK v4

Dit artikel is gebaseerd op wat u hebt geleerd in hoe bots werken en gebeurtenisgestuurde gesprekken. U moet bekend zijn met deze artikelen voordat u verdergaat.

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.

Voor het bouwen van nieuwe bots kunt u Microsoft Copilot Studio gebruiken en lezen over het kiezen van de juiste copilot-oplossing.

Zie De toekomst van botbouw voor meer informatie.

Teams-activiteitshandler

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.

Alle activiteitshandlers die worden beschreven in de sectie activiteitsafhandeling van de gebeurtenisgestuurde gesprekken met behulp van een activiteitshandlerartikel, blijven werken zoals ze doen met een niet-Teams-bot, behalve voor het afhandelen van de toegevoegde en verwijderde leden, deze activiteiten zijn anders in de context van een team, waarbij het nieuwe lid wordt toegevoegd aan het team in plaats van een berichtenthread. Zie Activiteiten voor het bijwerken van gesprekken in Teams voor meer informatie.

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.

Zie de installatie-update-gebeurtenis in de Teams-documenten voor meer informatie.

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. Kanaal gemaakt.
channelDeleted OnTeamsChannelDeletedAsync Verzonden wanneer een kanaal wordt verwijderd in een team waarin uw bot is geïnstalleerd. Kanaal verwijderd.
channelRenamed OnTeamsChannelRenamedAsync Verzonden wanneer de naam van een kanaal wordt gewijzigd in een team waarin uw bot is geïnstalleerd. De naam van het kanaal is gewijzigd.
channelRestored OnTeamsChannelRestoredAsync Verzonden wanneer een kanaal dat eerder is verwijderd, wordt hersteld in een team waarin uw bot al is geïnstalleerd. Kanaal hersteld.
membersAdded OnTeamsMembersAddedAsync 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. Teamleden toegevoegd.
membersRemoved OnTeamsMembersRemovedAsync 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. Teamleden zijn verwijderd.
teamArchived OnTeamsTeamArchivedAsync Verzonden wanneer het team waarin uw bot is geïnstalleerd, wordt gearchiveerd. Team gearchiveerd.
teamDeleted OnTeamsTeamDeletedAsync Verzonden wanneer het team waarin uw bot zich bevindt, is verwijderd. Team verwijderd.
teamRenamed OnTeamsTeamRenamedAsync Verzonden wanneer de naam van het team waarin uw bot zich bevindt, is gewijzigd. De naam van het team is gewijzigd.
teamRestored OnTeamsTeamRestoredAsync Verzonden wanneer een eerder verwijderd team waarin uw bot zich bevindt, wordt hersteld. Team hersteld.
teamUnarchived OnTeamsTeamUnarchivedAsync Verzonden wanneer het team waarin uw bot is geïnstalleerd, niet-gearchiveerd is. Team is niet gearchiveerd.

Activiteiten van Teams-evenementen

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 OnEventActivityAsync Teams-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.

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.

Hier volgt een lijst met alle Teams-activiteitshandlers die worden aangeroepen vanuit de OnInvokeActivityAsync Teams-activiteit-handler :

Typen aanroepen Handler Beschrijving
actionableMessage/executeAction OnTeamsO365ConnectorCardActionAsync Actie kaart voor Teams O365-connector.
CardAction.Invoke OnTeamsCardActionInvokeAsync Teams-kaartactie aanroepen.
fileConsent/invoke OnTeamsFileConsentAcceptAsync Toestemming voor Teams-bestanden accepteren.
fileConsent/invoke OnTeamsFileConsentAsync Toestemming voor Teams-bestanden.
fileConsent/invoke OnTeamsFileConsentDeclineAsync Toestemming voor Teams-bestanden.
signin/verifyState OnTeamsSigninVerifyStateAsync Teams-aanmeldingsstatus.
taak/ophalen OnTeamsTaskModuleFetchAsync Teams-taakmodule ophalen.
taak/verzenden OnTeamsTaskModuleSubmitAsync Teams-taakmodule verzenden.

Volgende stappen

Raadpleeg de documentatie voor Ontwikkelaars van Microsoft Teams voor het bouwen van Teams-bots.