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.