/ / Pokaż przyciski użytkownikowi do wyboru w botframework - c #, botframework

Pokaż przyciski do wyboru przez użytkownika w botframework - c #, botframework

Próbuję wyświetlić przyciski wyboru miasta dla użytkownika, tak jak mam następujące miasta: cleveland, columbus, delaware, mayfield

Jak pokazać je jako przyciski w botframework? Mogę to zrobić za pomocą formularzy takich jak:

[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();
}

Ale aplikacja, którą tworzę, nie jest formularzem i nie ma już zsynchronizowanych pytań. Więc jaki jest inny prostszy sposób pokazania miast do wyboru przez użytkownika?

Odpowiedzi:

1 dla odpowiedzi № 1

Możesz używać kart.

Po prostu dodaj trochę do obiektu aktywności i poczekaj na odpowiedź użytkownika.

Mają jakieś specjalne Karta paragonu (karta, która pozwala użytkownikowi dostarczyć fakturę lub paragon).

Bot Builder dla .NET / Usługa łącznika / Załączniki, karty i akcje

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

Przykład dodawania pary przycisków:

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);

0 dla odpowiedzi nr 2

zależy od używanego kanału, jeśli twoja właściwość jest wyliczona, czat internetowy wyświetli je jako listę do wyboru, a slack pokaże przyciski