Artikel ini dibuat berdasarkan apa yang Anda pelajari di Cara kerja bot dan percakapan berbasis peristiwa; Anda harus terbiasa dengan artikel ini sebelum melanjutkan.
Perbedaan utama dalam bot yang dikembangkan untuk Microsoft Teams adalah bagaimana aktivitas ditangani. Handler aktivitas Teams berasal dari penanganan aktivitas dan memproses jenis aktivitas khusus Teams sebelum memproses jenis aktivitas yang lebih umum.
Catatan
Bot Framework JavaScript, C#, dan Python SDK akan terus didukung, namun, Java SDK dihentikan dengan dukungan jangka panjang akhir yang berakhir pada November 2023.
Bot yang ada yang dibangun dengan Java SDK akan terus berfungsi.
Untuk membuat bot untuk Teams, dapatkan bot Anda dari kelas handler aktivitas Teams. Ketika bot seperti itu menerima aktivitas, bot tersebut merutekan aktivitas melalui berbagai penanganan aktivitas. Handler awal dan dasar adalah handler giliran, dan merutekan aktivitas ke handler berdasarkan jenis aktivitas. Pengatur giliran memanggil handler yang dirancang untuk menangani jenis aktivitas tertentu yang diterima. Kelas handler aktivitas Teams berasal dari kelas penanganan aktivitas. Selain jenis aktivitas yang dapat diproses oleh penanganan aktivitas, kelas handler aktivitas Teams mencakup handler tambahan untuk aktivitas khusus Teams.
Bot yang berasal dari handler aktivitas Teams mirip dengan bot yang berasal langsung dari kelas penanganan aktivitas.
Namun, Teams menyertakan informasi tambahan dalam conversationUpdate aktivitas dan mengirim aktivitas dan event khusus invoke Teams.
Saat handler aktivitas Teams Anda–bot menerima aktivitas pesan, penangan gilirannya merutekan aktivitas pesan masuk ke handler-nya OnMessageActivityAsync , mirip dengan bagaimana bot berbasis penanganan aktivitas. Namun, saat bot Teams Anda menerima aktivitas pembaruan percakapan, versi Teams dari OnConversationUpdateActivityAsync handler memproses aktivitas.
Tidak ada implementasi dasar untuk sebagian besar penanganan aktivitas khusus Teams. Anda harus mengambil alih handler ini dan memberikan logika yang sesuai untuk bot Anda.
Saat handler aktivitas Teams Anda–bot menerima aktivitas pesan, penangan gilirannya merutekan aktivitas pesan masuk ke handler-nya onMessage , mirip dengan bagaimana bot berbasis penanganan aktivitas. Namun, saat bot Teams Anda menerima aktivitas pembaruan percakapan, versi Teams dari dispatchConversationUpdateActivity handler memproses aktivitas.
Tidak ada implementasi dasar untuk sebagian besar penanganan aktivitas khusus Teams. Anda harus mengambil alih handler ini dan memberikan logika yang sesuai untuk bot Anda.
Saat mengambil alih penanganan aktivitas khusus Teams ini, tentukan logika bot Anda, lalu pastikan untuk memanggil next() di akhir. Dengan memanggil next(), Anda memastikan bahwa handler berikutnya dijalankan.
Saat handler aktivitas Teams Anda–bot menerima aktivitas pesan, penangan gilirannya merutekan aktivitas pesan masuk ke handler-nya onMessageActivity , mirip dengan bagaimana bot berbasis penanganan aktivitas. Namun, saat bot Teams Anda menerima aktivitas pembaruan percakapan, versi Teams dari onConversationUpdateActivity handler memproses aktivitas.
Tidak ada implementasi dasar untuk sebagian besar penanganan aktivitas khusus Teams. Anda harus mengambil alih handler ini dan memberikan logika yang sesuai untuk bot Anda.
Saat handler aktivitas Teams Anda–bot menerima aktivitas pesan, penangan gilirannya merutekan aktivitas pesan masuk ke handler-nya on_message_activity , mirip dengan bagaimana bot berbasis penanganan aktivitas. Namun, saat bot Teams Anda menerima aktivitas pembaruan percakapan, versi Teams dari on_conversation_update_activity handler memproses aktivitas.
Tidak ada implementasi dasar untuk sebagian besar penanganan aktivitas khusus Teams. Anda harus mengambil alih handler ini dan memberikan logika yang sesuai untuk bot Anda.
Semua penanganan aktivitas yang dijelaskan di bagian penanganan aktivitas percakapan berbasis peristiwa menggunakan artikel penanganan aktivitas akan terus berfungsi seperti yang mereka lakukan dengan bot non-Teams, kecuali untuk menangani anggota yang ditambahkan dan dihapus aktivitas, aktivitas ini akan berbeda dalam konteks tim, di mana anggota baru ditambahkan ke tim dibandingkan dengan utas pesan. Untuk informasi selengkapnya, lihat Aktivitas pembaruan percakapan Teams.
Untuk menerapkan logika Anda untuk penanganan aktivitas khusus Teams ini, Anda akan mengambil alih metode di bot Anda.
Logika teams-bot
Logika bot memproses aktivitas masuk dari satu atau beberapa saluran bot Anda dan menghasilkan aktivitas keluar sebagai respons. Ini masih berlaku untuk bot yang berasal dari kelas handler aktivitas Teams, yang pertama-tama memeriksa aktivitas Teams, kemudian meneruskan semua aktivitas lain ke penanganan aktivitas Bot Framework.
Aktivitas pembaruan penginstalan Teams
Tambahkan handler untuk peristiwa pembaruan penginstalan untuk mengizinkan bot Anda:
Kirim pesan pengantar saat diinstal pada utas percakapan.
Bersihkan data pengguna dan utas saat dihapus instalannya dari utas.
Lihat Peristiwa pembaruan penginstalan di dokumen Teams untuk informasi selengkapnya.
Aktivitas pembaruan percakapan Teams
Tabel berikut mencantumkan peristiwa Teams yang menghasilkan aktivitas pembaruan percakapan dalam bot.
Artikel Peristiwa pembaruan Percakapan Microsoft Teams menjelaskan cara menggunakan setiap peristiwa ini.
Secara default, memanggil ActivityHandler.OnMembersAddedAsync metode . Dikirim saat pertama kali bot Anda ditambahkan ke percakapan dan setiap kali pengguna baru ditambahkan ke obrolan tim atau grup tempat bot Anda diinstal.
Secara default, memanggil ActivityHandler.OnMembersRemovedAsync metode . Dikirim jika bot Anda dihapus dari tim dan setiap kali pengguna dihapus dari tim tempat bot Anda menjadi anggotanya.
Pengembang dapat menangani aktivitas pembaruan percakapan yang dikirim dari Microsoft Teams melalui dua metode:
Untuk meneruskan panggilan balik, gunakan metode yang dimulai dengan ondan diakhir dengan Event (misalnya, onTeamsMembersAddedEvent metode ).
Saat membuat kelas turunan, ambil alih metode yang dimulai dengan on dan tidak diakhir dengan Event (misalnya, onTeamsMembersAdded metode ).
Pengembang hanya boleh menggunakan salah satu opsi ini: 1 atau 2, dan bukan keduanya untuk aktivitas yang sama. Artinya, pengembang harus meneruskan panggilan balik ke onTeamsMembersAddedEvent metode atau mengambil alih onTeamsMembersAdded metode dalam kelas turunan, dan tidak melakukan keduanya.
Metode untuk mendaftarkan panggilan balik
Di bawah ini adalah daftar semua pemancar aktivitas Teams yang dipanggil dari dispatchConversationUpdateActivitymetode penanganan aktivitas Teams .
EventType
Metode pendaftaran
Kondisi
Dokumentasi Teams
channelCreated
onTeamsChannelCreatedEvent
Dikirim setiap kali saluran baru dibuat dalam tim tempat bot Anda diinstal.
Dikirim saat pertama kali bot Anda ditambahkan ke percakapan dan setiap kali pengguna baru ditambahkan ke obrolan tim atau grup tempat bot Anda diinstal.
Secara default, memanggil ActivityHandler.onMembersAdded metode . Dikirim saat pertama kali bot Anda ditambahkan ke percakapan dan setiap kali pengguna baru ditambahkan ke obrolan tim atau grup tempat bot Anda diinstal.
Secara default, memanggil ActivityHandler.onMembersRemoved metode . Dikirim jika bot Anda dihapus dari tim dan setiap kali pengguna dihapus dari tim tempat bot Anda menjadi anggotanya.
Secara default, memanggil ActivityHandler.onMembersAdded metode . Dikirim saat pertama kali bot Anda ditambahkan ke percakapan dan setiap kali pengguna baru ditambahkan ke obrolan tim atau grup tempat bot Anda diinstal.
Secara default, memanggil ActivityHandler.onMembersRemoved metode . Dikirim jika bot Anda dihapus dari tim dan setiap kali pengguna dihapus dari tim tempat bot Anda menjadi anggotanya.
Secara default, memanggil metode kelas on_members_added_activity dasar. Dikirim saat pertama kali bot Anda ditambahkan ke percakapan dan setiap kali pengguna baru ditambahkan ke obrolan tim atau grup tempat bot Anda diinstal.
Secara default, memanggil metode kelas on_members_removed_activity dasar. Dikirim jika bot Anda dihapus dari tim dan setiap kali pengguna dihapus dari tim tempat bot Anda menjadi anggotanya.
Tabel berikut mencantumkan aktivitas acara khusus Teams yang dikirim Teams ke bot.
Aktivitas acara yang tercantum adalah untuk bot percakapan di Teams.
Ini adalah penanganan aktivitas aktivitas khusus Teams yang dipanggil dari OnEventActivityAsyncpenanganan aktivitas Teams .
Tipe peristiwa
Penghandel
Deskripsi
application/vnd.microsoft.meetingEnd
OnTeamsMeetingEndAsync
Bot dikaitkan dengan rapat yang baru saja berakhir.
application/vnd.microsoft.meetingStart
OnTeamsMeetingStartAsync
Bot dikaitkan dengan rapat yang baru saja dimulai.
Ini adalah penanganan aktivitas aktivitas khusus Teams yang dipanggil dari onEventActivitypenanganan aktivitas Teams .
Tipe peristiwa
Penghandel
Deskripsi
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
Bot dikaitkan dengan rapat yang baru saja berakhir.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
Bot dikaitkan dengan rapat yang baru saja dimulai.
Ini adalah penanganan aktivitas aktivitas khusus Teams yang dipanggil dari onEventActivitypenanganan aktivitas Teams .
Tipe peristiwa
Penghandel
Deskripsi
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
Bot dikaitkan dengan rapat yang baru saja berakhir.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
Bot dikaitkan dengan rapat yang baru saja dimulai.
Ini adalah penanganan aktivitas aktivitas khusus Teams yang dipanggil dari on_event_activitypenanganan aktivitas Teams .
Tipe peristiwa
Penghandel
Deskripsi
application/vnd.microsoft.meetingEnd
on_teams_meeting_end_event
Bot dikaitkan dengan rapat yang baru saja berakhir.
application/vnd.microsoft.meetingStart
on_teams_meeting_start_event
Bot dikaitkan dengan rapat yang baru saja dimulai.
Teams memanggil aktivitas
Tabel berikut mencantumkan aktivitas pemanggilan khusus Teams yang dikirim Teams ke bot.
Aktivitas pemanggilan yang tercantum adalah untuk bot percakapan di Teams. Bot Framework SDK juga mendukung pemanggilan khusus untuk ekstensi olahpesan. Untuk informasi selengkapnya, lihat artikel Ekstensi olahpesan Teams Apa itu.
Catatan
Dokumentasi platform Microsoft Teams dan pustaka klien Teams JavaScript (TeamsJS) mengacu pada modul tugas sebagai dialog modal. Lihat Dialog untuk informasi selengkapnya.