Entitások és tevékenységtípusok

A KÖVETKEZŐKRE VONATKOZIK: SDK v4

Az entitások egy tevékenység részét képezik, és további információkat nyújtanak a tevékenységről vagy a beszélgetésről.

Megjegyzés:

Az SDK különböző részei külön entitásosztályokat vagy elemeket határoznak meg.

Entitások

Az üzenet entitástulajdonsága nyílt végű schema.org objektumok tömbje, amely lehetővé teszi a közös környezeti metaadatok cseréjét a csatorna és a robot között.

Entitások említése

Számos csatorna támogatja, hogy egy robot vagy felhasználó "megemlítsen" valakit egy beszélgetés kontextusában. Ha meg szeretne említeni egy felhasználót egy üzenetben, töltse ki az üzenet entitástulajdonságát egy említésobjektummal . Az említés objektum a következő tulajdonságokat tartalmazza:

Property Leírás
Type Az entitás típusa ("említés")
Említett Csatornafiók-objektum, amely jelzi, hogy melyik felhasználót említették
SMS A megemlítést jelképező activity.text tulajdonságban lévő szöveg (lehet üres vagy null)

Ez a példakód bemutatja, hogyan vehet fel említési entitást az entitásgyűjteménybe.

var entity = new Entity();
entity.SetAs(new Mention()
{
    Text = "@johndoe",
    Mentioned = new ChannelAccount()
    {
        Name = "John Doe",
        Id = "UV341235"
    }
});
entities.Add(entity);

Tipp.

Amikor megkísérli meghatározni a felhasználói szándékot, előfordulhat, hogy a robot figyelmen kívül szeretné hagyni az üzenet azon részét, ahol megemlítik. Hívja meg a metódust GetMentions , és értékelje ki a Mention válaszban visszaadott objektumokat.

Objektumok elhelyezése

A helyekkel kapcsolatos információk az üzeneten belül továbbíthatók úgy, hogy az üzenet entitástulajdonságát egy Hely objektummal vagy egy GeoCoordinates objektummal feltöltik.

A helyobjektum a következő tulajdonságokat tartalmazza:

Property Leírás
Type Az entitás típusa ("Hely")
Address Leírási vagy postai cím objektum (jövőbeli)
Térség Geokoordináták
HasMap URL-cím térképhez vagy térképobjektumhoz (jövőben)
Name A hely neve

A geokoordináta objektum a következő tulajdonságokat tartalmazza:

Property Leírás
Type Az entitás típusa ("GeoCoordinates")
Name A hely neve
Longitude A hely hosszúsága (WGS 84)
Latitude A hely szélessége (WGS 84)
Elevation A hely emelése (WGS 84)

Ez a példakód bemutatja, hogyan adhat hozzá helyentitást az entitásgyűjteményhez:

var entity = new Entity();
entity.SetAs(new Place()
{
    Geo = new GeoCoordinates()
    {
        Latitude = 32.4141,
        Longitude = 43.1123123,
    }
});
entities.Add(entity);

Entitások felhasználása

Entitások használatához használja a kulcsszót vagy az dynamic erősen beírt osztályokat.

Ez a példakód bemutatja, hogyan használható a kulcsszó egy dynamic üzenet tulajdonságán belüli Entities entitás feldolgozására:

if (entity.Type == "Place")
{
    dynamic place = entity.Properties;
    if (place.geo.latitude > 34)
        // do something
}

Ez a példakód bemutatja, hogyan használható egy erősen beírt osztály egy üzenet tulajdonságán belüli Entities entitás feldolgozásához:

if (entity.Type == "Place")
{
    Place place = entity.GetAs<Place>();
    GeoCoordinates geo = place.Geo.ToObject<GeoCoordinates>();
    if (geo.Latitude > 34)
        // do something
}

Tevékenységtípusok

A tevékenységek többféle típusúak lehetnek a leggyakoribb üzeneten túllépve. A különböző tevékenységtípusok magyarázatai és további részletei a Bot Framework tevékenységsémában találhatók.