Aracılığıyla paylaş


Microsoft Teams botları nasıl çalışır?

ŞUNLAR IÇIN GEÇERLIDIR: SDK v4

Bu makale, botların nasıl çalıştığı ve Olay odaklı konuşmalar bölümünde öğrendiklerinizle ilgilidir; devam etmeden önce bu makalelere aşina olmanız gerekir.

Microsoft Teams için geliştirilen botlardaki temel fark, etkinliklerin nasıl işlendiğidir. Teams etkinlik işleyicisi, etkinlik işleyicisinden türetilir ve daha genel etkinlik türlerini işlemeden önce Teams'e özgü etkinlik türlerini işler.

Not

Bot Framework JavaScript, C# ve Python SDK'ları desteklenmeye devam edecektir, ancak Java SDK'sı son uzun vadeli destek Kasım 2023'te sona erecek şekilde kullanımdan kaldırılacaktır.

Java SDK ile oluşturulan mevcut botlar çalışmaya devam edecektir.

Yeni bot derlemesi için Power Virtual Agents'ı kullanmayı göz önünde bulundurun ve doğru sohbet botu çözümünü seçme hakkında bilgi edinin.

Daha fazla bilgi için bkz . Bot oluşturmanın geleceği.

Teams etkinlik işleyicisi

Teams için bir bot oluşturmak için botunuzu Teams etkinlik işleyicisi sınıfından türetin. Böyle bir bot bir etkinlik aldığında, etkinliği çeşitli etkinlik işleyicileri aracılığıyla yönlendirir. Başlangıçtaki temel işleyici, dönüş işleyicisidir ve etkinliğin türüne göre bir işleyiciye yönlendirir. Dönüş işleyicisi, alınan belirli etkinlik türünü işlemek için tasarlanmış işleyiciyi çağırır. Teams etkinlik işleyici sınıfı, etkinlik işleyici sınıfından türetilir. Etkinlik işleyicisinin işleyebileceği etkinlik türlerine ek olarak, Teams etkinlik işleyicisi sınıfı Teams'e özgü etkinlikler için ek işleyiciler içerir.

Teams etkinlik işleyicisinden türetilen bir bot, doğrudan etkinlik işleyici sınıfından türetilen bir bota benzer. Ancak Teams etkinliklere conversationUpdate ek bilgiler ekler ve Teams'e özgü invoke ve event etkinlikler gönderir.

Teams etkinlik işleyicisi-botunuz bir ileti etkinliği aldığında, dönüş işleyicisi gelen ileti etkinliğini OnMessageActivityAsync , etkinlik işleyicisi tabanlı bota benzer şekilde işleyicisine yönlendirir. Ancak Teams botunuz bir konuşma güncelleştirme etkinliği aldığında, işleyicinin OnConversationUpdateActivityAsync Teams sürümü etkinliği işler.

Teams'e özgü etkinlik işleyicilerinin çoğu için temel uygulama yoktur. Bu işleyicileri geçersiz kılmanız ve botunuz için uygun mantığı sağlamanız gerekir.

Etkinlik işleyicisi makalesi kullanan Olay temelli konuşmaların etkinlik işleme bölümünde açıklanan tüm etkinlik işleyicileri, eklenen ve kaldırılan etkinliklerin işlenmesi dışında Teams olmayan bir botta olduğu gibi çalışmaya devam eder. Bu etkinlikler, yeni üyenin ileti yazışması yerine ekiliğe eklendiği ekip bağlamında farklı olur. Daha fazla bilgi için bkz . Teams konuşma güncelleştirme etkinlikleri.

Teams'e özgü bu etkinlik işleyicileri için mantığınızı uygulamak için botunuzda yöntemleri geçersiz kılacaksınız.

Teams-bot mantığı

Bot mantığı, bir veya daha fazla bot kanalınızdan gelen etkinlikleri işler ve yanıt olarak giden etkinlikler oluşturur. Bu durum, önce Teams etkinliklerini denetleyen, ardından diğer tüm etkinlikleri Bot Framework'ün etkinlik işleyicisine geçiren Teams etkinlik işleyicisi sınıfından türetilen bot için geçerlidir.

Teams yükleme güncelleştirme etkinlikleri

Botunuza izin vermek için yükleme güncelleştirme olayı için bir işleyici ekleyin:

  • Konuşma yazışması üzerine yüklendiğinde bir giriş iletisi gönderin.
  • Bir iş parçacığından kaldırıldığında kullanıcı ve iş parçacığı verilerini temizleyin.

Daha fazla bilgi için Bkz . Teams belgelerinde yükleme güncelleştirme olayı .

Teams konuşma güncelleştirme etkinlikleri

Aşağıdaki tabloda, botta konuşma güncelleştirme etkinliği oluşturan Teams olayları listelenmiştir. Microsoft Teams Konuşma güncelleştirme olayları makalesinde bu olayların her birinin nasıl kullanılacağı açıklanır.

Aşağıda, Teams etkinlik işleyicisinin yönteminden OnConversationUpdateActivityAsync çağrılan tüm Teams etkinlik işleyicilerinin listesi yer almaktadır.

EventType İşleyici Koşul Teams belgeleri
channelCreated OnTeamsChannelCreatedAsync Botunuzun yüklendiği bir ekipte yeni bir kanal oluşturulduğunda gönderilir. Kanal oluşturuldu.
channelDeleted OnTeamsChannelDeletedAsync Botunuzun yüklü olduğu bir ekipte bir kanal silindiğinde gönderilir. Kanal silindi.
channelRenamed OnTeamsChannelRenamedAsync Botunuzun yüklendiği bir ekipte bir kanal yeniden adlandırıldığında gönderilir. Kanal yeniden adlandırıldı.
channelRestored OnTeamsChannelRestoredAsync Botunuzun zaten yüklü olduğu bir ekipte daha önce silinmiş olan bir kanal geri yüklendiğinde gönderilir. Kanal geri yüklendi.
membersAdded OnTeamsMembersAddedAsync Varsayılan olarak yöntemini çağırır ActivityHandler.OnMembersAddedAsync . Botunuz bir konuşmaya ilk kez eklendiğinde ve botunuzun yüklü olduğu bir ekip veya grup sohbetine her yeni kullanıcı eklendiğinde gönderilir. Ekip üyeleri eklendi.
membersRemoved OnTeamsMembersRemovedAsync Varsayılan olarak yöntemini çağırır ActivityHandler.OnMembersRemovedAsync . Botunuz bir ekipten kaldırılırsa ve botunuzun üyesi olduğu bir ekipten her kullanıcı kaldırıldığında gönderilir. Ekip üyeleri kaldırıldı.
teamArchived OnTeamsTeamArchivedAsync Botunuzun yüklü olduğu ekip arşivlendiğinde gönderilir. Ekip arşivlenmiş.
teamDeleted OnTeamsTeamDeletedAsync Botunuzun içinde yer aldığı ekip silindiğinde gönderilir. Ekip silindi.
teamRenamed OnTeamsTeamRenamedAsync Botunuzun içinde yer aldığı ekip yeniden adlandırıldığında gönderilir. Ekip yeniden adlandırıldı.
teamRestored OnTeamsTeamRestoredAsync Botunuz daha önce silinmiş bir ekip geri yüklendiğinde gönderilir. Takım geri yüklendi.
teamUnarchived OnTeamsTeamUnarchivedAsync Botunuzun yüklü olduğu ekip arşivlenmediğinde gönderilir. Ekip arşivlenmemiş.

Teams etkinlik etkinlikleri

Aşağıdaki tabloda Teams'in bota gönderdiği Teams'e özgü etkinlik etkinlikleri listelenmiştir. Listelenen etkinlik etkinlikleri Teams'deki konuşma botlarına yöneliktir.

Bunlar, Teams etkinlik işleyicisinden OnEventActivityAsync çağrılan Teams'e özgü olay etkinliği işleyicileridir.

Olay tipleri İşleyici Açıklama
application/vnd.microsoft.meetingEnd OnTeamsMeetingEndAsync Bot, yeni sona eren bir toplantıyla ilişkilendirildi.
application/vnd.microsoft.meetingStart OnTeamsMeetingStartAsync Bot, yeni başlayan bir toplantıyla ilişkilendirilir.

Teams etkinlikleri çağırır

Aşağıdaki tabloda Teams'in bota gönderdiği Teams'e özgü çağırma etkinlikleri listelenmiştir. Listelenen çağırma etkinlikleri Teams'deki konuşma botlarına yöneliktir. Bot Framework SDK'sı, mesajlaşma uzantılarına özgü çağrıları da destekler. Daha fazla bilgi için Teams Mesajlaşma uzantıları nedir makalesine bakın.

Not

Microsoft Teams platform belgeleri ve Teams JavaScript istemci kitaplığı (TeamsJS), görev modüllerini kalıcı iletişim kutuları olarak ifade eder. Daha fazla bilgi için bkz . İletişim kutuları .

Teams etkinlik işleyicisinden OnInvokeActivityAsync çağrılan tüm Teams etkinlik işleyicilerinin listesi aşağıdadır:

Türleri çağırma İşleyici Açıklama
actionableMessage/executeAction OnTeamsO365ConnectorCardActionAsync Teams O365 Bağlayıcı kartı eylemi.
CardAction.Invoke OnTeamsCardActionInvokeAsync Teams Kartı Eylemi Çağırma.
fileConsent/invoke OnTeamsFileConsentAcceptAsync Teams Dosya Onayı Kabul Et.
fileConsent/invoke OnTeamsFileConsentAsync Teams Dosya Onayı.
fileConsent/invoke OnTeamsFileConsentDeclineAsync Teams Dosya Onayı.
signin/verifyState OnTeamsSigninVerifyStateAsync Teams Durumu Doğrula'da oturum açar.
görev/getirme OnTeamsTaskModuleFetchAsync Teams Görev Modülü Getirme.
görev/gönderme OnTeamsTaskModuleSubmitAsync Teams Görev Modülü Gönder.

Sonraki adımlar

Teams botları oluşturmak için Microsoft Teams Geliştirici belgelerine bakın.