W tym artykule omówiono informacje przedstawione w temacie Jak działają boty i konwersacje oparte na zdarzeniach. Przed kontynuowaniem należy zapoznać się z tymi artykułami.
Podstawową różnicą w botach opracowanych dla usługi Microsoft Teams jest sposób obsługi działań. Procedura obsługi działań usługi Teams pochodzi z programu obsługi działań i przetwarza typy działań specyficznych dla usługi Teams przed przetworzeniem bardziej ogólnych typów działań.
Uwaga
Zestawy SDK języka JavaScript, C# i Python platformy Bot Framework będą nadal obsługiwane, jednak zestaw SDK języka Java jest wycofywany z ostatecznym długoterminowym wsparciem kończącym się w listopadzie 2023 r.
Istniejące boty utworzone za pomocą zestawu JAVA SDK będą nadal działać.
Aby utworzyć bota dla usługi Teams, utwórz bota z klasy obsługi działań usługi Teams. Gdy taki bot odbiera działanie, kieruje działanie za pośrednictwem różnych procedur obsługi działań. Początkowa, podstawowa procedura obsługi jest procedurą obsługi kolei i kieruje działanie do programu obsługi na podstawie typu działania. Procedura obsługi kolei wywołuje procedurę obsługi , która jest przeznaczona do obsługi określonego typu odebranego działania. Klasa obsługi działań usługi Teams pochodzi z klasy obsługi działań. Oprócz typów działań, które program obsługi działań może przetworzyć, klasa obsługi działań usługi Teams zawiera dodatkowe procedury obsługi dla działań specyficznych dla usługi Teams.
Bot pochodzący z programu obsługi działań usługi Teams jest podobny do bota, który pochodzi bezpośrednio z klasy obsługi działań.
Jednak usługa Teams zawiera dodatkowe informacje dotyczące conversationUpdate działań i wysyła działania specyficzne dla invoke usługi Teams.event
Gdy program obsługi działań usługi Teams odbiera działanie komunikatu, jego program obsługi kolei kieruje działanie komunikatów przychodzących do programu OnMessageActivityAsync obsługi, podobnie jak bot oparty na procedurze obsługi działań. Jednak gdy bot usługi Teams odbiera działanie aktualizacji konwersacji, wersja OnConversationUpdateActivityAsync programu obsługi usługi Teams przetwarza działanie.
Nie ma podstawowej implementacji dla większości procedur obsługi działań specyficznych dla usługi Teams. Należy zastąpić te programy obsługi i zapewnić odpowiednią logikę bota.
Gdy program obsługi działań usługi Teams odbiera działanie komunikatu, jego program obsługi kolei kieruje działanie komunikatów przychodzących do programu onMessage obsługi, podobnie jak bot oparty na procedurze obsługi działań. Jednak gdy bot usługi Teams odbiera działanie aktualizacji konwersacji, wersja dispatchConversationUpdateActivity programu obsługi usługi Teams przetwarza działanie.
Nie ma podstawowej implementacji dla większości procedur obsługi działań specyficznych dla usługi Teams. Należy zastąpić te programy obsługi i zapewnić odpowiednią logikę bota.
Podczas zastępowania tych procedur obsługi działań specyficznych dla usługi Teams zdefiniuj logikę bota, a następnie pamiętaj, aby wywołać next() metodę na końcu. Wywołając metodę next(), upewnij się, że zostanie uruchomiona następna procedura obsługi.
Gdy program obsługi działań usługi Teams odbiera działanie komunikatu, jego program obsługi kolei kieruje działanie komunikatów przychodzących do programu onMessageActivity obsługi, podobnie jak bot oparty na procedurze obsługi działań. Jednak gdy bot usługi Teams odbiera działanie aktualizacji konwersacji, wersja onConversationUpdateActivity programu obsługi usługi Teams przetwarza działanie.
Nie ma podstawowej implementacji dla większości procedur obsługi działań specyficznych dla usługi Teams. Należy zastąpić te programy obsługi i zapewnić odpowiednią logikę bota.
Gdy program obsługi działań usługi Teams odbiera działanie komunikatu, jego program obsługi kolei kieruje działanie komunikatów przychodzących do programu on_message_activity obsługi, podobnie jak bot oparty na procedurze obsługi działań. Jednak gdy bot usługi Teams odbiera działanie aktualizacji konwersacji, wersja on_conversation_update_activity programu obsługi usługi Teams przetwarza działanie.
Nie ma podstawowej implementacji dla większości procedur obsługi działań specyficznych dla usługi Teams. Należy zastąpić te programy obsługi i zapewnić odpowiednią logikę bota.
Wszystkie programy obsługi działań opisane w sekcji obsługi działań konwersacji sterowanych zdarzeniami przy użyciu procedury obsługi działań będą nadal działać tak samo jak w przypadku bota innego niż Teams, z wyjątkiem obsługi dodanych i usuniętych działań członków, te działania będą inne w kontekście zespołu, w którym nowy członek zostanie dodany do zespołu, w przeciwieństwie do wątku wiadomości. Aby uzyskać więcej informacji, zobacz Działania aktualizacji konwersacji w usłudze Teams.
Aby zaimplementować logikę dla tych procedur obsługi działań specyficznych dla usługi Teams, zastąpisz metody w botze.
Logika bota usługi Teams
Logika bota przetwarza przychodzące działania z co najmniej jednego kanału botów i generuje działania wychodzące w odpowiedzi. Jest to nadal prawdziwe w przypadku bota pochodzącego z klasy obsługi działań usługi Teams, która najpierw sprawdza działania usługi Teams, a następnie przekazuje wszystkie inne działania do programu obsługi działań platformy Bot Framework.
Działania aktualizacji instalacji usługi Teams
Dodaj procedurę obsługi zdarzenia aktualizacji instalacji , aby umożliwić botowi:
Wyślij komunikat wprowadzający po zainstalowaniu go w wątku konwersacji.
Wyczyść dane użytkownika i wątku po odinstalowaniu z wątku.
Aby uzyskać więcej informacji, zobacz Zdarzenie aktualizacji instalacji w dokumentacji usługi Teams.
Działania aktualizacji konwersacji w usłudze Teams
W poniższej tabeli wymieniono zdarzenia usługi Teams, które generują aktywność aktualizacji konwersacji w botze.
W artykule zdarzeń aktualizacji konwersacji w usłudze Microsoft Teams opisano sposób używania każdego z tych zdarzeń.
Poniżej znajduje się lista wszystkich procedur obsługi działań usługi Teams wywoływanych z OnConversationUpdateActivityAsync metody programu obsługi działań usługi Teams .
EventType
Program obsługi
Stan
Dokumentacja usługi Teams
channelCreated
OnTeamsChannelCreatedAsync
Wysyłane za każdym razem, gdy nowy kanał zostanie utworzony w zespole, w którym jest zainstalowany bot.
Utworzony kanał.
channelDeleted
OnTeamsChannelDeletedAsync
Wysyłane za każdym razem, gdy kanał zostanie usunięty w zespole, w którym jest zainstalowany bot.
Domyślnie wywołuje metodę ActivityHandler.OnMembersAddedAsync . Wysłane po raz pierwszy bot jest dodawany do konwersacji i za każdym razem, gdy nowy użytkownik zostanie dodany do zespołu lub czatu grupowego, w którym jest zainstalowany bot.
Domyślnie wywołuje metodę ActivityHandler.OnMembersRemovedAsync . Wysłane, jeśli bot zostanie usunięty z zespołu i za każdym razem, gdy każdy użytkownik zostanie usunięty z zespołu, do którego należy bot.
Deweloperzy mogą obsługiwać działania aktualizacji konwersacji wysyłane z usługi Microsoft Teams za pośrednictwem dwóch metod:
Aby przekazać wywołanie zwrotne, użyj metod rozpoczynających się od oni kończących Event się na (na przykład onTeamsMembersAddedEvent metody ).
Podczas tworzenia klasy pochodnej zastąp metody rozpoczynające się od i nie kończą Event się on (na przykład onTeamsMembersAdded metodą ).
Deweloperzy powinni używać tylko jednej z tych opcji: 1 lub 2, a nie obu dla tego samego działania. Oznacza to, że deweloperzy powinni przekazać wywołanie zwrotne do onTeamsMembersAddedEvent metody lub zastąpić onTeamsMembersAdded metodę w klasie pochodnej, a nie obie.
Metody rejestrowania wywołania zwrotnego
Poniżej znajduje się lista wszystkich emiterów działań usługi Teams wywoływanych z dispatchConversationUpdateActivity metody programu obsługi działań usługi Teams .
EventType
Metoda rejestracji
Stan
Dokumentacja usługi Teams
channelCreated
onTeamsChannelCreatedEvent
Wysyłane za każdym razem, gdy nowy kanał zostanie utworzony w zespole, w którym jest zainstalowany bot.
Utworzony kanał.
channelDeleted
onTeamsChannelDeletedEvent
Wysyłane za każdym razem, gdy kanał zostanie usunięty w zespole, w którym jest zainstalowany bot.
Wysłane po raz pierwszy bot jest dodawany do konwersacji i za każdym razem, gdy nowy użytkownik zostanie dodany do zespołu lub czatu grupowego, w którym jest zainstalowany bot.
Poniżej znajduje się lista wszystkich programów obsługi działań usługi Teams, które można zastąpić w celu obsługi działań aktualizacji konwersacji w usłudze Teams.
EventType
Program obsługi
Stan
Dokumentacja usługi Teams
channelCreated
onTeamsChannelCreated
Wysyłane za każdym razem, gdy nowy kanał zostanie utworzony w zespole, w którym jest zainstalowany bot.
Utworzony kanał.
channelDeleted
onTeamsChannelDeleted
Wysyłane za każdym razem, gdy kanał zostanie usunięty w zespole, w którym jest zainstalowany bot.
Domyślnie wywołuje metodę ActivityHandler.onMembersAdded . Wysłane po raz pierwszy bot jest dodawany do konwersacji i za każdym razem, gdy nowy użytkownik zostanie dodany do zespołu lub czatu grupowego, w którym jest zainstalowany bot.
Domyślnie wywołuje metodę ActivityHandler.onMembersRemoved . Wysłane, jeśli bot zostanie usunięty z zespołu i za każdym razem, gdy każdy użytkownik zostanie usunięty z zespołu, do którego należy bot.
Poniżej znajduje się lista wszystkich procedur obsługi działań usługi Teams wywoływanych z onConversationUpdateActivity metody programu obsługi działań usługi Teams .
EventType
Program obsługi
Stan
Dokumentacja usługi Teams
channelCreated
onTeamsChannelCreated
Wysyłane za każdym razem, gdy nowy kanał zostanie utworzony w zespole, w którym jest zainstalowany bot.
Utworzony kanał.
channelDeleted
onTeamsChannelDeleted
Wysyłane za każdym razem, gdy kanał zostanie usunięty w zespole, w którym jest zainstalowany bot.
Domyślnie wywołuje metodę ActivityHandler.onMembersAdded . Wysłane po raz pierwszy bot jest dodawany do konwersacji i za każdym razem, gdy nowy użytkownik zostanie dodany do zespołu lub czatu grupowego, w którym jest zainstalowany bot.
Domyślnie wywołuje metodę ActivityHandler.onMembersRemoved . Wysłane, jeśli bot zostanie usunięty z zespołu i za każdym razem, gdy każdy użytkownik zostanie usunięty z zespołu, do którego należy bot.
Poniżej znajduje się lista wszystkich procedur obsługi działań usługi Teams wywoływanych z on_conversation_update_activity metody programu obsługi działań usługi Teams .
EventType
Program obsługi
Stan
Dokumentacja usługi Teams
channelCreated
on_teams_channel_created
Wysyłane za każdym razem, gdy nowy kanał zostanie utworzony w zespole, w którym jest zainstalowany bot.
Utworzony kanał.
channelDeleted
on_teams_channel_deleted
Wysyłane za każdym razem, gdy kanał zostanie usunięty w zespole, w którym jest zainstalowany bot.
Domyślnie wywołuje metodę klasy on_members_added_activity bazowej. Wysłane po raz pierwszy bot jest dodawany do konwersacji i za każdym razem, gdy nowy użytkownik zostanie dodany do zespołu lub czatu grupowego, w którym jest zainstalowany bot.
Domyślnie wywołuje metodę klasy on_members_removed_activity bazowej. Wysłane, jeśli bot zostanie usunięty z zespołu i za każdym razem, gdy każdy użytkownik zostanie usunięty z zespołu, do którego należy bot.
W poniższej tabeli wymieniono działania zdarzeń specyficzne dla aplikacji Teams wysyłane do bota.
Wymienione działania zdarzeń dotyczą botów konwersacyjnych w usłudze Teams.
Są to programy obsługi zdarzeń specyficzne dla aplikacji Teams wywoływane z OnEventActivityAsyncprogramu obsługi działań usługi Teams .
Typy zdarzeń
Program obsługi
opis
application/vnd.microsoft.meetingEnd
OnTeamsMeetingEndAsync
Bot jest skojarzony ze spotkaniem, które właśnie zostało zakończone.
application/vnd.microsoft.meetingStart
OnTeamsMeetingStartAsync
Bot jest skojarzony ze spotkaniem, które właśnie zostało rozpoczęte.
Są to programy obsługi zdarzeń specyficzne dla aplikacji Teams wywoływane z onEventActivityprogramu obsługi działań usługi Teams .
Typy zdarzeń
Program obsługi
opis
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
Bot jest skojarzony ze spotkaniem, które właśnie zostało zakończone.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
Bot jest skojarzony ze spotkaniem, które właśnie zostało rozpoczęte.
Są to programy obsługi zdarzeń specyficzne dla aplikacji Teams wywoływane z onEventActivityprogramu obsługi działań usługi Teams .
Typy zdarzeń
Program obsługi
opis
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
Bot jest skojarzony ze spotkaniem, które właśnie zostało zakończone.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
Bot jest skojarzony ze spotkaniem, które właśnie zostało rozpoczęte.
Są to programy obsługi zdarzeń specyficzne dla aplikacji Teams wywoływane z on_event_activityprogramu obsługi działań usługi Teams .
Typy zdarzeń
Program obsługi
opis
application/vnd.microsoft.meetingEnd
on_teams_meeting_end_event
Bot jest skojarzony ze spotkaniem, które właśnie zostało zakończone.
application/vnd.microsoft.meetingStart
on_teams_meeting_start_event
Bot jest skojarzony ze spotkaniem, które właśnie zostało rozpoczęte.
Zespoły wywołują działania
W poniższej tabeli wymieniono działania wywoływane specyficzne dla usługi Teams wysyłane przez aplikację Teams do bota.
Wymienione działania wywołania dotyczą botów konwersacyjnych w usłudze Teams. Zestaw SDK platformy Bot Framework obsługuje również wywołania specyficzne dla rozszerzeń obsługi komunikatów. Aby uzyskać więcej informacji, zobacz artykuł What are messaging extensions (Co to są rozszerzenia obsługi komunikatów w usłudze Teams).
Uwaga
Dokumentacja platformy Microsoft Teams i biblioteka klienta JavaScript usługi Teams (TeamsJS) odnoszą się do modułów zadań jako modalnych okien dialogowych. Aby uzyskać więcej informacji, zobacz Okna dialogowe .