vineetKumar004 Ответов: 1

Как предоставить пользователю несколько вариантов выбора в чат-боте


Я хочу дать пользователю несколько вариантов выбора и показать карты героев для ответа.
Я использовал простое вложение в своем коде здесь, но оно не работает.

Что я уже пробовал:

[LuisIntent("help")]
public async Task help(IDialogContext context,LuisResult result)
{
    List<string> opt = new List<string>();
    opt.Add("1. reply to your greetings");
    opt.Add(" 2.Ask me my name");
    opt.Add("3.ask my height");
   PromptOptions<string> option = new PromptOptions<string>("Please select the number", "Sorry i didn't got you, can you try that again", "Please select from the given options",opt, 3);
    PromptDialog.Choice<string>(context, helpasync,option);
    context.Wait(MessageReceived);
}

private async Task helpasync(IDialogContext context, IAwaitable<string> result)
{
    string choice = await result;
    switch (choice)
    {
        case "1":

            var activity = new Activity();
            var markdownContent = "#A heading\n";
            markdownContent += "##A subheading\n";
            markdownContent += "**something bold**\n\n";
            markdownContent += "*something italic*\n\n";
            markdownContent += "[a link!](http://robinosborne.co.uk/?s=bot)\n\n";
            markdownContent += "![AN IMAGE!](http://robinosborne.co.uk/wp-content/uploads/2016/07/robinosborne.jpg)\n";
            markdownContent += "> A quote of something interesting\n\n";
            markdownContent += "```\nvar this = \"code\";\n```\n";

            Activity reply = activity.CreateReply(markdownContent);
            break;
        case "2":         
            break;
        case "3":
            break;
        default:
           break;
    }

CHill60

Что вы подразумеваете под "это не работает" - это не помогает нам помочь вам

1 Ответов

Рейтинг:
1

Patrice T

Цитата:
я использовал простое вложение в своем коде здесь, но оно не работает.

Используйте точку останова, чтобы увидеть, запущена ли процедура, и проверить, если choice это то, что вы ожидаете.

Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.