2016-07-23 4 views
0

I Tasten angezeigt Ich versuche für die Auswahl Stadt für Benutzer wie ich folgende Städte haben: Cleveland, Columbus, Delaware, mayfieldanzeigen Schaltflächen Benutzer in botframework auszuwählen

Wie diese als Schaltflächen in botframework zeigen können? Ich kann dies wie mit Formen tun:

[Prompt("Please select what {&} you are in? {||}")] 
public City? City; 
public static IForm<SandwichOrder> BuildForm() 
{ 
    return new FormBuilder<SandwichOrder>() 
      .Message("Welcome to the simple City bot!") 
      .Build(); 
} 

Aber die app i Schaffung ist, ist keine Form, und es gibt nicht mehr synchronisiert Fragen. Was ist eine andere einfachere Möglichkeit, Städte anzuzeigen, die der Benutzer auswählen kann?

Antwort

0

hängt davon ab, welchen Kanal Sie verwenden, wenn Sie Ihre Immobilie Enum ist, Web-Chat wird sie als eine Liste angezeigt, zu wählen und wird schlaff zeigen Tasten

1

Sie können Karten verwenden.

Fügen Sie Ihrem Aktivitätsobjekt einige hinzu und warten Sie auf die Benutzerantwort.

Sie haben einige spezielle Quittung Karte (eine Karte, die den Benutzer eine Rechnung oder Quittung liefern lässt).

Bot Builder for .NET/Connector Service/Attachments, Karten und Aktionen

https://docs.botframework.com/en-us/csharp/builder/sdkreference/attachments.html

Beispiel dafür, wie zwei Schaltflächen hinzufügen:

Activity reply = activity.CreateReply($""); 
    reply.Recipient = activity.From; 
    reply.Type = "message"; 
    reply.Attachments = new List<Attachment>(); 

    List<CardAction> cardButtons = new List<CardAction>(); 
    CardAction cityBtn1 = new CardAction() 
    { 
     Value = "cleveland", 
     Type = "postBack", 
     Title = "Cleveland" 
    }; 
    cardButtons.Add(cityBtn1); 

    CardAction cityBtn2 = new CardAction() 
    { 
     Value = "columbus", 
     Type = "postBack", 
     Title = "Columbus" 
    }; 
    cardButtons.Add(cityBtn2); 

    HeroCard plCard = new HeroCard() 
    { 
     Title = "Please select what city you are in?", 
     Buttons = cardButtons 
    }; 
    Attachment plAttachment = plCard.ToAttachment(); 
    reply.Attachments.Add(plAttachment); 
Verwandte Themen