Så här fungerar Microsoft Teams-robotar

GÄLLER FÖR: SDK v4

Den här artikeln bygger på det du har lärt dig i Hur robotar fungerar och händelsedrivna konversationer. Du bör känna till de här artiklarna innan du fortsätter.

Den främsta skillnaden i robotar som utvecklats för Microsoft Teams är hur aktiviteter hanteras. Teams-aktivitetshanteraren härleds från aktivitetshanteraren och bearbetar Teams-specifika aktivitetstyper innan du bearbetar mer allmänna aktivitetstyper.

Kommentar

Bot Framework JavaScript-, C#- och Python-SDK:erna fortsätter att stödjas, men Java SDK dras tillbaka med slutligt långsiktigt stöd som slutar i november 2023.

Befintliga robotar som skapats med Java SDK fortsätter att fungera.

Om du vill skapa en ny robot bör du överväga att använda Power Virtual Agents och läsa om hur du väljer rätt chattrobotlösning.

Mer information finns i Framtiden för robotbygge.

Teams aktivitetshanterare

Om du vill skapa en robot för Teams härleder du din robot från teams-aktivitetshanterarklassen. När en sådan robot tar emot en aktivitet dirigeras aktiviteten via olika aktivitetshanterare. Den initiala bashanteraren är turhanteraren och dirigerar aktiviteten till en hanterare baserat på aktivitetens typ. Turhanteraren anropar den hanterare som är utformad för att hantera den specifika typ av aktivitet som togs emot. Teams aktivitetshanterarklass härleds från aktivitetshanterarklassen. Förutom de aktivitetstyper som aktivitetshanteraren kan bearbeta innehåller teams-aktivitetshanterarklassen ytterligare hanterare för Teams-specifika aktiviteter.

En robot som härleds från Teams aktivitetshanterare liknar en robot som härleds direkt från aktivitetshanterarklassen. Teams innehåller dock ytterligare information i conversationUpdate aktiviteter och skickar Teams-specifika invoke aktiviteter.event

När din Teams-aktivitetshanterare–robot tar emot en meddelandeaktivitet dirigerar dess turhanterare den inkommande meddelandeaktiviteten till OnMessageActivityAsync hanteraren, ungefär som en aktivitetshanterarbaserad robot. Men när teams-roboten tar emot en konversationsuppdateringsaktivitet bearbetar Teams-versionen av OnConversationUpdateActivityAsync hanteraren aktiviteten.

Det finns ingen basimplementering för de flesta Teams-specifika aktivitetshanterare. Du måste åsidosätta dessa hanterare och tillhandahålla lämplig logik för din robot.

Alla aktivitetshanterare som beskrivs i avsnittet om aktivitetshantering i artikeln Händelsedrivna konversationer med hjälp av en aktivitetshanterare fortsätter att fungera som de gör med en robot som inte är en Teams-robot, förutom att hantera de medlemmar som lagts till och tagits bort aktiviteter. Dessa aktiviteter kommer att skilja sig åt i ett team, där den nya medlemmen läggs till i teamet i motsats till en meddelandetråd. Mer information finns i Teams konversationsuppdateringsaktiviteter.

Om du vill implementera din logik för dessa Teams-specifika aktivitetshanterare åsidosätter du metoder i roboten.

Teams-botlogik

Robotlogiken bearbetar inkommande aktiviteter från en eller flera av dina robotkanaler och genererar utgående aktiviteter som svar. Detta gäller fortfarande för roboten som härleds från teams-aktivitetshanterarklassen, som först söker efter Teams-aktiviteter och sedan skickar alla andra aktiviteter till Bot Frameworks aktivitetshanterare.

Installationsuppdateringsaktiviteter för Teams

Lägg till en hanterare för installationsuppdateringshändelsen så att roboten kan:

  • Skicka ett introduktionsmeddelande när det är installerat på en konversationstråd.
  • Rensa användar- och tråddata när de avinstalleras från en tråd.

Mer information finns i Installationsuppdateringshändelse i Teams-dokumenten.

Teams konversationsuppdateringsaktiviteter

I följande tabell visas de Teams-händelser som genererar en konversationsuppdateringsaktivitet i en robot. Artikeln om uppdateringshändelser för Microsoft Teams-konversation beskriver hur du använder var och en av dessa händelser.

Nedan visas en lista över alla Teams-aktivitetshanterare som anropas från OnConversationUpdateActivityAsync metoden för Teams-aktivitetshanteraren .

EventType Hanterare Villkor Dokumentation om Teams
kanalSkapad OnTeamsChannelCreatedAsync Skickas när en ny kanal skapas i ett team som roboten är installerad i. Kanalen har skapats.
channelDeleted OnTeamsChannelDeletedAsync Skickas när en kanal tas bort i ett team som roboten är installerad i. Kanalen har tagits bort.
channelRenamed OnTeamsChannelRenamedAsync Skickas när en kanal byter namn i ett team som roboten är installerad i. Kanalen har bytt namn.
channelRestored OnTeamsChannelRestoredAsync Skickas när en kanal som tidigare tagits bort återställs i ett team som roboten redan är installerad i. Kanalen har återställts.
medlemmarLägg till OnTeamsMembersAddedAsync Anropar ActivityHandler.OnMembersAddedAsync som standard metoden. Skickas första gången roboten läggs till i en konversation och varje gång en ny användare läggs till i ett team eller gruppchatt som roboten är installerad i. Gruppmedlemmar har lagts till.
membersRemoved OnTeamsMembersRemovedAsync Anropar ActivityHandler.OnMembersRemovedAsync som standard metoden. Skickas om roboten tas bort från ett team och varje gång en användare tas bort från ett team som roboten är medlem i. Gruppmedlemmar har tagits bort.
teamArchived OnTeamsTeamArchivedAsync Skickas när teamet som roboten är installerad i arkiveras. Teamet har arkiverats.
teamDeleted OnTeamsTeamDeletedAsync Skickas när teamet som roboten är i har tagits bort. Teamet har tagits bort.
teamRenamed OnTeamsTeamRenamedAsync Skickas när teamet som roboten är i har bytt namn. Teamet har bytt namn.
teamRestored OnTeamsTeamRestoredAsync Skickas när ett tidigare borttaget team som roboten är i återställs. Teamet har återställts.
teamUnarchived OnTeamsTeamUnarchivedAsync Skickas när teamet som roboten är installerad i är oarchiverad. Team unarchived.

Teams händelseaktiviteter

I följande tabell visas de Teams-specifika händelseaktiviteter som Teams skickar till en robot. Händelseaktiviteterna som visas är för konversationsrobotar i Teams.

Det här är de Teams-specifika händelseaktivitetshanterare som anropas från OnEventActivityAsyncTeams-aktivitetshanteraren .

Händelsetyper Hanterare beskrivning
application/vnd.microsoft.meetingEnd OnTeamsMeetingEndAsync Roboten är associerad med ett möte som just avslutats.
application/vnd.microsoft.meetingStart OnTeamsMeetingStartAsync Roboten är associerad med ett möte som precis har startat.

Teams anropar aktiviteter

I följande tabell visas de Teams-specifika anropande aktiviteter som Teams skickar till en robot. De anropade aktiviteterna som anges är för konversationsrobotar i Teams. Bot Framework SDK stöder också anropar som är specifika för meddelandetillägg. Mer information finns i artikeln Teams What are messaging extensions (Teams What are messaging extensions ).

Kommentar

Dokumentation om Microsoft Teams-plattformen och Teams JavaScript-klientbibliotek (TeamsJS) refererar till aktivitetsmoduler som modala dialogrutor. Mer information finns i Dialogrutor .

Här är en lista över alla Teams-aktivitetshanterare som anropas från OnInvokeActivityAsyncTeams-aktivitetshanteraren :

Anropa typer Hanterare beskrivning
actionableMessage/executeAction OnTeamsO365ConnectorCardActionAsync Teams O365 Anslut eller kortåtgärd.
CardAction.Invoke OnTeamsCardActionInvokeAsync Åtgärd för Teams-kort anropas.
fileConsent/invoke OnTeamsFileConsentAcceptAsync Godkänn teams-filmedgivande.
fileConsent/invoke OnTeamsFileConsentAsync Teams-filmedgivande.
fileConsent/invoke OnTeamsFileConsentDeclineAsync Teams-filmedgivande.
signin/verifyState OnTeamsSigninVerifyStateAsync Teams Logga in Verifiera tillstånd.
aktivitet/hämtning OnTeamsTaskModuleFetchAsync Hämtning av Teams-aktivitetsmodul.
uppgift/skicka OnTeamsTaskModuleSubmitAsync Skicka teams-aktivitetsmodul.

Nästa steg

Information om hur du skapar Teams-robotar finns i Dokumentation om Microsoft Teams-utvecklare.