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.