Entiteiten en activiteitstypen
VAN TOEPASSING OP: SDK v4
Entiteiten maken deel uit van een activiteit en bieden aanvullende informatie over de activiteit of het gesprek.
Notitie
Verschillende onderdelen van de SDK definiëren afzonderlijke entiteitsklassen of -elementen.
Entiteiten
De eigenschap entiteiten van een bericht is een matrix van geopende schema.org objecten, waarmee algemene contextuele metagegevens tussen het kanaal en de bot kunnen worden uitgewisseld.
Entiteiten vermelden
Veel kanalen ondersteunen de mogelijkheid voor een bot of gebruiker om iemand binnen de context van een gesprek te vermelden. Als u een gebruiker in een bericht wilt vermelden, vult u de eigenschap entiteiten van het bericht in met een vermeldingsobject . Het vermeldingsobject bevat deze eigenschappen:
Eigenschappen | Beschrijving |
---|---|
Type | Type van de entiteit ('vermelding') |
Genoemd | Kanaalaccountobject dat aangeeft welke gebruiker is vermeld |
Sms verzenden | Tekst binnen de eigenschap activity.text die de vermelding zelf vertegenwoordigt (kan leeg of null zijn) |
In dit codevoorbeeld ziet u hoe u een vermeldingsentiteit toevoegt aan de verzameling entiteiten.
var entity = new Entity();
entity.SetAs(new Mention()
{
Text = "@johndoe",
Mentioned = new ChannelAccount()
{
Name = "John Doe",
Id = "UV341235"
}
});
entities.Add(entity);
Fooi
Wanneer de bot probeert de intentie van de gebruiker te bepalen, kan het zijn dat deel van het bericht waar deze wordt vermeld, te negeren. Roep de GetMentions
methode aan en evalueer de Mention
objecten die in het antwoord worden geretourneerd.
Objecten plaatsen
Locatiegerelateerde informatie kan binnen een bericht worden overgebracht door de eigenschap entiteiten van het bericht te vullen met een place-object of een geocoördinaatobject .
Het plaatsobject bevat de volgende eigenschappen:
Eigenschappen | Beschrijving |
---|---|
Type | Type van de entiteit ('Place') |
Adres | Beschrijving of postadresobject (toekomstige) |
Geografisch | Geocoördinaten |
HasMap | URL naar een kaart- of kaartobject (toekomst) |
Naam | Naam van de plaats |
Het object geoCoördinaten bevat de volgende eigenschappen:
Eigenschappen | Beschrijving |
---|---|
Type | Type van de entiteit ('GeoCoördinaten') |
Naam | Naam van de plaats |
Lengtegraad | Lengtegraad van de locatie (WGS 84) |
Breedtegraad | Breedtegraad van de locatie (WGS 84) |
Elevation | Hoogte van de locatie (WGS 84) |
In dit codevoorbeeld ziet u hoe u een plaatsentiteit toevoegt aan de verzameling entiteiten:
var entity = new Entity();
entity.SetAs(new Place()
{
Geo = new GeoCoordinates()
{
Latitude = 32.4141,
Longitude = 43.1123123,
}
});
entities.Add(entity);
Entiteiten gebruiken
Als u entiteiten wilt gebruiken, gebruikt u het dynamic
trefwoord of sterk getypte klassen.
In dit codevoorbeeld ziet u hoe u het dynamic
trefwoord gebruikt om een entiteit binnen de Entities
eigenschap van een bericht te verwerken:
if (entity.Type == "Place")
{
dynamic place = entity.Properties;
if (place.geo.latitude > 34)
// do something
}
In dit codevoorbeeld ziet u hoe u een sterk getypte klasse gebruikt om een entiteit binnen de Entities
eigenschap van een bericht te verwerken:
if (entity.Type == "Place")
{
Place place = entity.GetAs<Place>();
GeoCoordinates geo = place.Geo.ToObject<GeoCoordinates>();
if (geo.Latitude > 34)
// do something
}
Activiteitstypen
Activiteiten kunnen van verschillende typen zijn voorbij het meest voorkomende bericht. Uitleg en meer informatie over verschillende activiteitstypen vindt u in het Bot Framework-activiteitenschema.