Tento článek vychází z toho, co jste se naučili v tom, jak roboti fungují a konverzace řízené událostmi. Měli byste být obeznámeni s těmito články, než budete pokračovat.
Hlavním rozdílem v robotech vyvinutých pro Microsoft Teams je způsob zpracování aktivit. Obslužná rutina aktivity Teams je odvozena od obslužné rutiny aktivity a zpracovává typy aktivit specifické pro Teams před zpracováním obecnějších typů aktivit.
Poznámka:
Sady SDK služby Bot Framework JavaScript, C# a Python budou nadále podporovány, ale sada Java SDK se vyřazuje s konečnou dlouhodobou podporou končící v listopadu 2023.
Stávající roboti sestavení pomocí sady Java SDK budou i nadále fungovat.
Pokud chcete vytvořit robota pro Teams, odvozujte robota z třídy obslužné rutiny aktivity Teams. Když takový robot obdrží aktivitu, směruje aktivitu prostřednictvím různých obslužných rutin aktivit. Počáteční základní obslužná rutina je obslužná rutina otáčení a směruje aktivitu na obslužnou rutinu na základě typu aktivity. Obslužná rutina otáčení volá obslužnou rutinu , která je navržená pro zpracování konkrétního typu přijaté aktivity. Třída obslužné rutiny aktivity Teams je odvozena z třídy obslužné rutiny aktivity. Kromě typů aktivit, které může obslužná rutina aktivity zpracovat, třída obslužné rutiny aktivity Teams obsahuje další obslužné rutiny pro aktivity specifické pro Teams.
Robot, který je odvozený z obslužné rutiny aktivity Teams, je podobný robotu, který je odvozen přímo z třídy obslužné rutiny aktivity.
Teams ale obsahuje další informace o conversationUpdate aktivitách a posílá aplikace Teams specifické invoke pro jednotlivé aktivity a event aktivity.
Když obslužná rutina aktivity Teams – robot obdrží aktivitu zpráv, jeho obslužná rutina pro otáčení směruje aktivitu příchozí zprávy do své OnMessageActivityAsync obslužné rutiny, podobně jako robot založený na obslužné rutině aktivity. Když ale robot Teams obdrží aktivitu aktualizace konverzace, zpracuje tato aktivita verze Teams obslužné OnConversationUpdateActivityAsync rutiny.
Pro většinu obslužných rutin aktivit specifických pro Teams neexistuje žádná základní implementace. Tyto obslužné rutiny budete muset přepsat a poskytnout odpovídající logiku robota.
Když obslužná rutina aktivity Teams – robot obdrží aktivitu zpráv, jeho obslužná rutina pro otáčení směruje aktivitu příchozí zprávy do své onMessage obslužné rutiny, podobně jako robot založený na obslužné rutině aktivity. Když ale robot Teams obdrží aktivitu aktualizace konverzace, zpracuje tato aktivita verze Teams obslužné dispatchConversationUpdateActivity rutiny.
Pro většinu obslužných rutin aktivit specifických pro Teams neexistuje žádná základní implementace. Tyto obslužné rutiny budete muset přepsat a poskytnout odpovídající logiku robota.
Při přepsání těchto obslužných rutin aktivit specifických pro Teams definujte logiku robota a pak nezapomeňte volat next() na konci. next()Voláním zajistíte spuštění další obslužné rutiny.
Když obslužná rutina aktivity Teams – robot obdrží aktivitu zpráv, jeho obslužná rutina pro otáčení směruje aktivitu příchozí zprávy do své onMessageActivity obslužné rutiny, podobně jako robot založený na obslužné rutině aktivity. Když ale robot Teams obdrží aktivitu aktualizace konverzace, zpracuje tato aktivita verze Teams obslužné onConversationUpdateActivity rutiny.
Pro většinu obslužných rutin aktivit specifických pro Teams neexistuje žádná základní implementace. Tyto obslužné rutiny budete muset přepsat a poskytnout odpovídající logiku robota.
Když obslužná rutina aktivity Teams – robot obdrží aktivitu zpráv, jeho obslužná rutina pro otáčení směruje aktivitu příchozí zprávy do své on_message_activity obslužné rutiny, podobně jako robot založený na obslužné rutině aktivity. Když ale robot Teams obdrží aktivitu aktualizace konverzace, zpracuje tato aktivita verze Teams obslužné on_conversation_update_activity rutiny.
Pro většinu obslužných rutin aktivit specifických pro Teams neexistuje žádná základní implementace. Tyto obslužné rutiny budete muset přepsat a poskytnout odpovídající logiku robota.
Všechny obslužné rutiny aktivit popsané v části zpracování aktivit konverzací řízených událostmi pomocí článku obslužné rutiny aktivity budou dál fungovat stejně jako s robotem mimo Teams, s výjimkou zpracování přidávaných a odebraných aktivit členů, tyto aktivity se budou lišit v kontextu týmu, kde se nový člen přidá do týmu místo vlákna zprávy. Další informace najdete v tématu Aktivity aktualizace konverzací Teams.
Pokud chcete implementovat logiku pro tyto obslužné rutiny aktivit specifické pro Teams, přepíšete metody v robotovi.
Logika teams-robota
Logika robota zpracovává příchozí aktivity z jednoho nebo více kanálů robotů a generuje odchozí aktivity v reakci. To platí i pro robota odvozeného z třídy obslužné rutiny aktivity Teams, která nejprve kontroluje aktivity Teams, a pak předává všechny ostatní aktivity obslužné rutině aktivity služby Bot Framework.
Aktivity aktualizace instalace Teams
Přidejte obslužnou rutinu události aktualizace instalace, aby robot:
Odešle úvodní zprávu, když je nainstalovaná ve vlákně konverzace.
Vyčistíte data uživatelů a vláken při odinstalaci z vlákna.
Další informace najdete v tématu Událost aktualizace instalace v dokumentaci teams.
Aktivity aktualizace konverzací v Teams
Následující tabulka uvádí události Teams, které generují aktivitu aktualizace konverzace v robotovi.
Článek aktualizace konverzací v Microsoft Teams popisuje, jak používat každou z těchto událostí.
Ve výchozím nastavení volá metodu ActivityHandler.OnMembersAddedAsync . Odesláno při prvním přidání robota do konverzace a pokaždé, když se nový uživatel přidá do týmového nebo skupinového chatu, do kterého je robot nainstalovaný.
Ve výchozím nastavení volá metodu ActivityHandler.OnMembersRemovedAsync . Odesláno, pokud je robot odebrán z týmu a pokaždé, když je každý uživatel odebrán z týmu, kterého je robot členem.
Vývojáři můžou zpracovávat aktivity aktualizace konverzací odeslané z Microsoft Teams dvěma způsoby:
Chcete-li předat zpětné volání, použijte metody, které začínají a končí Event (onnapříklad metodouonTeamsMembersAddedEvent).
Při vytváření odvozené třídy přepište metody, které začínají on a nekončíEvent (například metodou onTeamsMembersAdded ).
Vývojáři by měli použít pouze jednu z těchto možností: buď 1, nebo 2, a ne pro stejnou aktivitu. To znamená, že vývojáři by buď měli předat zpětné onTeamsMembersAddedEvent volání metodě, nebo přepsat onTeamsMembersAdded metodu v odvozené třídě, a ne obojí.
Metody registrace zpětného volání
Níže je seznam všech emitorů aktivit Teams volaných z dispatchConversationUpdateActivity metody obslužné rutiny aktivity Teams .
Typ události
Metoda registrace
Podmínka
Dokumentace k Teams
channelCreated
onTeamsChannelCreatedEvent
Odesílá se při každém vytvoření nového kanálu v týmu, ve které je robot nainstalovaný.
Odesláno při prvním přidání robota do konverzace a pokaždé, když se nový uživatel přidá do týmového nebo skupinového chatu, do kterého je robot nainstalovaný.
Ve výchozím nastavení volá metodu ActivityHandler.onMembersAdded . Odesláno při prvním přidání robota do konverzace a pokaždé, když se nový uživatel přidá do týmového nebo skupinového chatu, do kterého je robot nainstalovaný.
Ve výchozím nastavení volá metodu ActivityHandler.onMembersRemoved . Odesláno, pokud je robot odebrán z týmu a pokaždé, když je každý uživatel odebrán z týmu, kterého je robot členem.
Ve výchozím nastavení volá metodu ActivityHandler.onMembersAdded . Odesláno při prvním přidání robota do konverzace a pokaždé, když se nový uživatel přidá do týmového nebo skupinového chatu, do kterého je robot nainstalovaný.
Ve výchozím nastavení volá metodu ActivityHandler.onMembersRemoved . Odesláno, pokud je robot odebrán z týmu a pokaždé, když je každý uživatel odebrán z týmu, kterého je robot členem.
Ve výchozím nastavení volá metodu základní třídy on_members_added_activity . Odesláno při prvním přidání robota do konverzace a pokaždé, když se nový uživatel přidá do týmového nebo skupinového chatu, do kterého je robot nainstalovaný.
Ve výchozím nastavení volá metodu základní třídy on_members_removed_activity . Odesláno, pokud je robot odebrán z týmu a pokaždé, když je každý uživatel odebrán z týmu, kterého je robot členem.
Následující tabulka uvádí aktivity událostí specifické pro Teams, které Teams odesílá robotovi.
Uvedené aktivity událostí jsou určené pro konverzační roboty v Teams.
Jedná se o obslužné rutiny aktivit událostí specifické pro OnEventActivityAsyncTeams, které volají z obslužné rutiny aktivity Teams .
Typy událostí
Obslužná rutina
Popis
application/vnd.microsoft.meetingEnd
OnTeamsMeetingEndAsync
Robot je přidružený ke schůzce, která právě skončila.
application/vnd.microsoft.meetingStart
OnTeamsMeetingStartAsync
Robot je přidružený ke schůzce, která právě začala.
Jedná se o obslužné rutiny aktivit událostí specifické pro onEventActivityTeams, které volají z obslužné rutiny aktivity Teams .
Typy událostí
Obslužná rutina
Popis
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
Robot je přidružený ke schůzce, která právě skončila.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
Robot je přidružený ke schůzce, která právě začala.
Jedná se o obslužné rutiny aktivit událostí specifické pro onEventActivityTeams, které volají z obslužné rutiny aktivity Teams .
Typy událostí
Obslužná rutina
Popis
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
Robot je přidružený ke schůzce, která právě skončila.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
Robot je přidružený ke schůzce, která právě začala.
Jedná se o obslužné rutiny aktivit událostí specifické pro on_event_activityTeams, které volají z obslužné rutiny aktivity Teams .
Typy událostí
Obslužná rutina
Popis
application/vnd.microsoft.meetingEnd
on_teams_meeting_end_event
Robot je přidružený ke schůzce, která právě skončila.
application/vnd.microsoft.meetingStart
on_teams_meeting_start_event
Robot je přidružený ke schůzce, která právě začala.
Aplikace Teams vyvolá aktivity
Následující tabulka uvádí aktivity volání specifické pro Teams, které Teams odesílá robotovi.
Uvedené aktivity vyvolání jsou určené pro konverzační roboty v Teams. Sada SDK služby Bot Framework podporuje také volání specifická pro rozšíření zasílání zpráv. Další informace najdete v článku o rozšířeních zasílání zpráv v Teams.
Poznámka:
Dokumentace k platformě Microsoft Teams a klientská knihovna Teams JavaScript (TeamsJS) odkazují na moduly úloh jako modální dialogy. Další informace najdete v dialogových oknech .