Entity a typy aktivit

PLATÍ PRO: SDK v4

Entity jsou součástí aktivity a poskytují další informace o aktivitě nebo konverzaci.

Poznámka:

Různé části sady SDK definují samostatné třídy entit nebo prvky.

Entity

Vlastnost entit zprávy je pole otevřených schema.org objektů, které umožňují výměnu běžných kontextových metadat mezi kanálem a robotem.

Zmínka o entitách

Mnoho kanálů podporuje schopnost robota nebo uživatele "zmínit" někoho v kontextu konverzace. Pokud chcete zmínit uživatele ve zprávě, naplňte vlastnost entit zprávy objektem zmínky. Objekt zmínky obsahuje tyto vlastnosti:

Vlastnost Popis
Typ Typ entity ("zmínka")
Uvedené Objekt účtu kanálu, který označuje, který uživatel byl zmíněn
Text Text uvnitř activity.text vlastnost, která představuje samotnou zmínku (může být prázdná nebo null)

Tento příklad kódu ukazuje, jak přidat entitu zmínky do kolekce entit.

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

Tip

Při pokusu o určení záměru uživatele může robot tuto část zprávy, na které je zmíněn, ignorovat. Zavolejte metodu GetMentions a vyhodnoťte Mention objekty vrácené v odpovědi.

Umístění objektů

Informace související s umístěním mohou být předány v rámci zprávy vyplněním vlastnosti entity zprávy objektem Place nebo GeoCoordinates objektu.

Objekt place obsahuje tyto vlastnosti:

Vlastnost Popis
Typ Typ entity ("Place")
Adresa Popis nebo poštovní objekt adresy (budoucí)
Geo GeoCoordinates
HasMap Adresa URL objektu mapy nebo mapy (budoucí)
Název Název místa

Objekt geoCoordinates obsahuje tyto vlastnosti:

Vlastnost Popis
Typ Typ entity ("GeoCoordinates")
Název Název místa
Longitude Zeměpisná délka umístění (WGS 84)
Zeměpisná šířka Zeměpisná šířka umístění (WGS 84)
Elevation Zvýšení polohy (WGS 84)

Tento příklad kódu ukazuje, jak přidat entitu místa do kolekce entit:

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

Využívání entit

Pokud chcete využívat entity, použijte klíčové slovo nebo třídy silného dynamic typu.

Tento příklad kódu ukazuje, jak pomocí klíčového dynamic slova zpracovat entitu ve Entities vlastnosti zprávy:

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

Tento příklad kódu ukazuje, jak pomocí třídy silného typu zpracovat entitu v rámci Entities vlastnosti zprávy:

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

Typy aktivit

Aktivity můžou být z několika různých typů za nejběžnější zprávou. Vysvětlení a další podrobnosti o různých typech aktivit najdete ve schématu aktivity bot Framework.