A Microsoft Teamshez kifejlesztett robotok elsődleges különbsége a tevékenységek kezelése. A Teams tevékenységkezelője a tevékenységkezelőből származik, és az általánosabb tevékenységtípusok feldolgozása előtt feldolgozza a Teams-specifikus tevékenységtípusokat.
Feljegyzés
A Bot Framework JavaScript, C# és Python SDK-k továbbra is támogatottak lesznek, a Java SDK-t azonban 2023 novemberében végső hosszú távú támogatással kivonják.
A Java SDK-val létrehozott meglévő robotok továbbra is működni fognak.
Az új robotépítéshez fontolja meg a Microsoft Copilot Studio használatát, és olvassa el a megfelelő copilot-megoldás kiválasztását.
Ha robotot szeretne létrehozni a Teamshez, származtathatja a robotot a Teams tevékenységkezelő osztályából. Amikor egy ilyen robot kap egy tevékenységet, különböző tevékenységkezelőken keresztül irányítja át a tevékenységet. A kezdeti alapkezelő a turn handler, és a tevékenység típusától függően egy kezelőhöz irányítja a tevékenységet. A turn handler meghívja azt a kezelőt, amely a fogadott tevékenység adott típusának kezelésére lett kialakítva. A Teams tevékenységkezelő osztálya a tevékenységkezelő osztályból származik. A tevékenységkezelő által feldolgozható tevékenységtípusok mellett a Teams tevékenységkezelő osztálya további kezelőket is tartalmaz a Teams-specifikus tevékenységekhez.
A Teams tevékenységkezelőből származó robot hasonlít egy olyan robotra, amely közvetlenül a tevékenységkezelő osztályból származik.
A Teams azonban további információkat tartalmaz a tevékenységekről conversationUpdate , és Teams-specifikus invoke és event tevékenységeket küld.
Amikor a Teams tevékenységkezelő robotja üzenettevékenységet kap, a turn handler a bejövő üzenettevékenységet a kezelőjéhez OnMessageActivityAsync irányítja, hasonlóan ahhoz, ahogyan egy tevékenységkezelő-alapú robot tenné. Amikor azonban a Teams-robot beszélgetésfrissítési tevékenységet kap, a OnConversationUpdateActivityAsync kezelő Teams-verziója feldolgozza a tevékenységet.
A Teams-specifikus tevékenységkezelők többsége nem rendelkezik alapszintű implementációval. Felül kell bírálnia ezeket a kezelőket, és meg kell adnia a robot számára megfelelő logikát.
Amikor a Teams tevékenységkezelő robotja üzenettevékenységet kap, a turn handler a bejövő üzenettevékenységet a kezelőjéhez onMessage irányítja, hasonlóan ahhoz, ahogyan egy tevékenységkezelő-alapú robot tenné. Amikor azonban a Teams-robot beszélgetésfrissítési tevékenységet kap, a dispatchConversationUpdateActivity kezelő Teams-verziója feldolgozza a tevékenységet.
A Teams-specifikus tevékenységkezelők többsége nem rendelkezik alapszintű implementációval. Felül kell bírálnia ezeket a kezelőket, és meg kell adnia a robot számára megfelelő logikát.
A Teams-specifikus tevékenységkezelők felülírásakor határozza meg a robotlogikát, majd a végén mindenképpen hívjonnext(). A hívással next()győződjön meg arról, hogy a következő kezelő fut.
Amikor a Teams tevékenységkezelő robotja üzenettevékenységet kap, a turn handler a bejövő üzenettevékenységet a kezelőjéhez onMessageActivity irányítja, hasonlóan ahhoz, ahogyan egy tevékenységkezelő-alapú robot tenné. Amikor azonban a Teams-robot beszélgetésfrissítési tevékenységet kap, a onConversationUpdateActivity kezelő Teams-verziója feldolgozza a tevékenységet.
A Teams-specifikus tevékenységkezelők többsége nem rendelkezik alapszintű implementációval. Felül kell bírálnia ezeket a kezelőket, és meg kell adnia a robot számára megfelelő logikát.
Amikor a Teams tevékenységkezelő robotja üzenettevékenységet kap, a turn handler a bejövő üzenettevékenységet a kezelőjéhez on_message_activity irányítja, hasonlóan ahhoz, ahogyan egy tevékenységkezelő-alapú robot tenné. Amikor azonban a Teams-robot beszélgetésfrissítési tevékenységet kap, a on_conversation_update_activity kezelő Teams-verziója feldolgozza a tevékenységet.
A Teams-specifikus tevékenységkezelők többsége nem rendelkezik alapszintű implementációval. Felül kell bírálnia ezeket a kezelőket, és meg kell adnia a robot számára megfelelő logikát.
Az eseményvezérelt beszélgetések tevékenységkezelő szakaszában ismertetett tevékenységkezelők mindegyike tevékenységkezelő cikk használatával továbbra is ugyanúgy működik, mint egy nem Teams-robottal, kivéve a hozzáadott és eltávolított tevékenységek kezelését. Ezek a tevékenységek a csapat kontextusában eltérőek lesznek, ahol az új tagot a rendszer hozzáadja a csapathoz az üzenetszál helyett. További információ: Teams beszélgetésfrissítési tevékenységek.
A Teams-specifikus tevékenységkezelők logikájának implementálásához felül kell bírálnia a robot metódusait.
Teams-bot logika
A robotlogika feldolgozza a bejövő tevékenységeket egy vagy több robotcsatornából, és válaszként kimenő tevékenységeket hoz létre. Ez továbbra is igaz a Teams tevékenységkezelő osztályából származó robotra, amely először ellenőrzi a Teams-tevékenységeket, majd átadja az összes többi tevékenységet a Bot Framework tevékenységkezelőjének.
A Teams telepítési frissítési tevékenységei
Adjon hozzá egy kezelőt a telepítési frissítési eseményhez, hogy a robot:
Bevezető üzenet küldése, ha egy beszélgetési szálra van telepítve.
A felhasználói és a száladatok törlése a szálból való eltávolításkor.
Az alábbi táblázat azokat a Teams-eseményeket sorolja fel, amelyek beszélgetésfrissítési tevékenységet hoznak létre egy robotban.
A Microsoft Teams Beszélgetés frissítési eseményei című cikk ismerteti, hogyan használhatja ezeket az eseményeket.
Alapértelmezés szerint meghívja a metódust ActivityHandler.OnMembersAddedAsync . A robot első alkalommal kerül beszélgetésbe, és minden alkalommal, amikor új felhasználót ad hozzá egy csapathoz vagy csoportos csevegéshez, amelyben a robot telepítve van.
Alapértelmezés szerint meghívja a metódust ActivityHandler.OnMembersRemovedAsync . Akkor küldi el, ha a robotot eltávolítják egy csapatból, és minden alkalommal, amikor a felhasználót eltávolítják egy olyan csapatból, amelynek a robot tagja.
A fejlesztők két módszerrel kezelhetik a Microsoft Teamsből küldött beszélgetésfrissítési tevékenységeket:
A visszahívások átadásához használjon olyan metódusokat, amelyek a következővel onkezdődnek és végződnek (például a onTeamsMembersAddedEvent metódus).Event
Származtatott osztály létrehozásakor felülbírálhatja azokat on a metódusokat, amelyek kezdődnek, és nem végződnek (például a onTeamsMembersAdded metódussal Event ).
A fejlesztőknek csak az egyik lehetőséget kell használniuk: 1 vagy 2, és nem mindkettőt ugyanarra a tevékenységre. Ez azt jelenti, hogy a fejlesztőknek visszahívást kell átadniuk a onTeamsMembersAddedEvent metódusnak , vagy felül kell bírálni a onTeamsMembersAdded metódust egy származtatott osztályban, és nem kell mindkettőt elvégezniük.
Visszahívások regisztrálásának módszerei
Az alábbiakban felsoroljuk a Teams tevékenységkezelő metódusából dispatchConversationUpdateActivitymeghívott Teams-tevékenységemittereket.
EventType
Regisztrációs módszer
Feltétel
A Teams dokumentációja
channelCreated
onTeamsChannelCreatedEvent
Minden alkalommal elküldve, amikor új csatorna jön létre egy olyan csapatban, amelyben a robot telepítve van.
A robot első alkalommal kerül beszélgetésbe, és minden alkalommal, amikor új felhasználót ad hozzá egy csapathoz vagy csoportos csevegéshez, amelyben a robot telepítve van.
Akkor küldi el, ha a robotot eltávolítják egy csapatból, és minden alkalommal, amikor a felhasználót eltávolítják egy olyan csapatból, amelynek a robot tagja.
Az alábbiakban felsoroljuk az összes Olyan Teams-tevékenységkezelőt, amelyet felül lehet bírálni a Teams beszélgetésfrissítési tevékenységeinek kezeléséhez.
EventType
Kezelő
Feltétel
A Teams dokumentációja
channelCreated
onTeamsChannelCreated
Minden alkalommal elküldve, amikor új csatorna jön létre egy olyan csapatban, amelyben a robot telepítve van.
Alapértelmezés szerint meghívja a metódust ActivityHandler.onMembersAdded . A robot első alkalommal kerül beszélgetésbe, és minden alkalommal, amikor új felhasználót ad hozzá egy csapathoz vagy csoportos csevegéshez, amelyben a robot telepítve van.
Alapértelmezés szerint meghívja a metódust ActivityHandler.onMembersRemoved . Akkor küldi el, ha a robotot eltávolítják egy csapatból, és minden alkalommal, amikor a felhasználót eltávolítják egy olyan csapatból, amelynek a robot tagja.
Alapértelmezés szerint meghívja a metódust ActivityHandler.onMembersAdded . A robot első alkalommal kerül beszélgetésbe, és minden alkalommal, amikor új felhasználót ad hozzá egy csapathoz vagy csoportos csevegéshez, amelyben a robot telepítve van.
Alapértelmezés szerint meghívja a metódust ActivityHandler.onMembersRemoved . Akkor küldi el, ha a robotot eltávolítják egy csapatból, és minden alkalommal, amikor a felhasználót eltávolítják egy olyan csapatból, amelynek a robot tagja.
Alapértelmezés szerint meghívja az alaposztály metódusát on_members_added_activity . A robot első alkalommal kerül beszélgetésbe, és minden alkalommal, amikor új felhasználót ad hozzá egy csapathoz vagy csoportos csevegéshez, amelyben a robot telepítve van.
Alapértelmezés szerint meghívja az alaposztály metódusát on_members_removed_activity . Akkor küldi el, ha a robotot eltávolítják egy csapatból, és minden alkalommal, amikor a felhasználót eltávolítják egy olyan csapatból, amelynek a robot tagja.
Az alábbi táblázat felsorolja a Teams-specifikus eseménytevékenységeket, amelyeket a Teams egy robotnak küld.
A felsorolt eseménytevékenységek a Teams beszélgetési robotjaihoz tartoznak.
Ezek a Teams-specifikus eseménytevékenység-kezelők, amelyeket a OnEventActivityAsyncTeams tevékenységkezelője hív meg.
Eseménytípusok
Kezelő
Leírás
application/vnd.microsoft.meetingEnd
OnTeamsMeetingEndAsync
A robot egy most véget ért értekezlethez van társítva.
application/vnd.microsoft.meetingStart
OnTeamsMeetingStartAsync
A robot egy éppen megkezdett értekezlethez van társítva.
Ezek a Teams-specifikus eseménytevékenység-kezelők, amelyeket a onEventActivityTeams tevékenységkezelője hív meg.
Eseménytípusok
Kezelő
Leírás
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
A robot egy most véget ért értekezlethez van társítva.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
A robot egy éppen megkezdett értekezlethez van társítva.
Ezek a Teams-specifikus eseménytevékenység-kezelők, amelyeket a onEventActivityTeams tevékenységkezelője hív meg.
Eseménytípusok
Kezelő
Leírás
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
A robot egy most véget ért értekezlethez van társítva.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
A robot egy éppen megkezdett értekezlethez van társítva.
Ezek a Teams-specifikus eseménytevékenység-kezelők, amelyeket a on_event_activityTeams tevékenységkezelője hív meg.
Eseménytípusok
Kezelő
Leírás
application/vnd.microsoft.meetingEnd
on_teams_meeting_end_event
A robot egy most véget ért értekezlethez van társítva.
application/vnd.microsoft.meetingStart
on_teams_meeting_start_event
A robot egy éppen megkezdett értekezlethez van társítva.
Teams-meghívási tevékenységek
Az alábbi táblázat felsorolja a Teams-specifikus meghívási tevékenységeket, amelyeket a Teams egy robotnak küld.
A felsorolt meghívási tevékenységek a Teams beszélgetési robotjaihoz tartoznak. A Bot Framework SDK az üzenetküldési bővítményekre vonatkozó meghívásokat is támogatja. További információ: Teams What are messaging extensions article.
Feljegyzés
A Microsoft Teams platform dokumentációja és a Teams JavaScript ügyféloldali kódtára (TeamsJS) modális párbeszédpanelként hivatkozik a feladatmodulokra. További információt a Párbeszédpanelek című témakörben talál.