Varlıklar ve etkinlik türleri
ŞUNLAR IÇIN GEÇERLIDIR: SDK v4
Varlıklar etkinliğin bir parçasıdır ve etkinlik veya konuşma hakkında ek bilgi sağlar.
Dekont
SDK'nın farklı bölümleri ayrı varlık sınıfları veya öğeleri tanımlar.
Varlıklar
İletinin varlıklar özelliği, kanal ve bot arasında ortak bağlamsal meta verilerin değişimine olanak tanıyan açık uçlu schema.org nesneleri dizisidir.
Bahsetme varlıkları
Birçok kanal, botun veya kullanıcının konuşma bağlamında birinden "bahsetmesini" destekler. İletideki bir kullanıcıdan bahsetmek için iletinin entities özelliğini bir bahsetme nesnesiyle doldurun. Bahsetme nesnesi şu özellikleri içerir:
Özellik | Açıklama |
---|---|
Type | Varlığın türü ("bahsetme") |
Belirtilen | Hangi kullanıcıdan bahsedildiğini gösteren kanal hesabı nesnesi |
Metin | Bahsetmenin kendisini temsil eden activity.text özelliği içindeki metin (boş veya null olabilir) |
Bu kod örneği, varlık koleksiyonuna bir bahsetme varlığının nasıl ekleneceğini gösterir.
var entity = new Entity();
entity.SetAs(new Mention()
{
Text = "@johndoe",
Mentioned = new ChannelAccount()
{
Name = "John Doe",
Id = "UV341235"
}
});
entities.Add(entity);
Bahşiş
Kullanıcı amacını belirlemeye çalışırken, bot iletinin bahsedildiği bölümü yoksaymak isteyebilir. yöntemini çağırın GetMentions
ve yanıtta döndürülen nesneleri değerlendirin Mention
.
Nesneleri yerleştirme
Konumla ilgili bilgiler, iletinin entities özelliği Place nesnesi veya GeoCoordinates nesnesiyle doldurularak ileti içinde iletilebilir.
Place nesnesi şu özellikleri içerir:
Özellik | Açıklama |
---|---|
Type | Varlığın türü ("Yer") |
Adres | Açıklama veya posta adresi nesnesi (gelecek) |
Coğrafi Bölge | Coğrafi Koordinatlar |
HasMap | Eşleme veya eşleme nesnesinin URL'si (gelecek) |
Ad | Yerin adı |
geoCoordinates nesnesi şu özellikleri içerir:
Özellik | Açıklama |
---|---|
Type | Varlığın türü ("GeoCoordinates") |
Ad | Yerin adı |
Boylam | Konumun boylamı (WGS 84) |
Enlem | Konumun enlemi (WGS 84) |
Elevation | Konumun yükseltilmesi (WGS 84) |
Bu kod örneği, varlıklar koleksiyonuna bir yer varlığının nasıl ekleneceğini gösterir:
var entity = new Entity();
entity.SetAs(new Place()
{
Geo = new GeoCoordinates()
{
Latitude = 32.4141,
Longitude = 43.1123123,
}
});
entities.Add(entity);
Varlıkları kullanma
Varlıkları kullanmak için anahtar sözcüğünü dynamic
veya kesin olarak yazılan sınıfları kullanın.
Bu kod örneği, bir iletinin dynamic
özelliği içindeki bir varlığı işlemek için anahtar sözcüğün Entities
nasıl kullanılacağını gösterir:
if (entity.Type == "Place")
{
dynamic place = entity.Properties;
if (place.geo.latitude > 34)
// do something
}
Bu kod örneği, bir iletinin özelliği içindeki bir varlığı işlemek için kesin olarak belirlenmiş bir sınıfın Entities
nasıl kullanılacağını gösterir:
if (entity.Type == "Place")
{
Place place = entity.GetAs<Place>();
GeoCoordinates geo = place.Geo.ToObject<GeoCoordinates>();
if (geo.Latitude > 34)
// do something
}
Etkinlik türleri
Etkinlikler, en yaygın iletiden sonra birkaç farklı türde olabilir. Farklı etkinlik türleriyle ilgili açıklamalar ve diğer ayrıntılar Bot Framework Etkinlik şemasında bulunabilir.