В этой ситуации лучше всего вызвать намерение Луиса за пределами формопотока. Функциональность, которую вы ищете, точно не существует. Вы можете вызвать намерение «Имя», а затем назвать форму следующим образом:

ользую каркас бота Microsoft, чтобы создать бота для опроса пользователя и затем понимания ответа. Пользователь опрашивается с помощью API FormFlow в среде бота, и ответы получены. Вот код для потока форм:

public enum Genders { none, Male, Female, Other};

[Serializable]
public class RegisterPatientForm
{

    [Prompt("What is the patient`s name?")]
    public string person_name;

    [Prompt("What is the patients gender? {||}")]
    public Genders gender;

    [Prompt("What is the patients phone number?")]
    [Pattern(@"(<Undefined control sequence>\d)?\s*\d{3}(-|\s*)\d{4}")]
    public string phone_number;

    [Prompt("What is the patients Date of birth?")]
    public DateTime DOB;

    [Prompt("What is the patients CNIC number?")]
    public string cnic;


    public static IForm<RegisterPatientForm> BuildForm()
    {
        OnCompletionAsyncDelegate<RegisterPatientForm> processHotelsSearch = async (context, state) =>
        {
            await context.PostAsync($"Patient {state.person_name} registered");
        };

        return new FormBuilder<RegisterPatientForm>()
            .Field(nameof(person_name),
            validate: async (state, value) =>
            {
                //code here for calling luis
            })
            .Field(nameof(gender))
            .Field(nameof(phone_number))
            .Field(nameof(DOB))
            .Field(nameof(cnic))
            .OnCompletion(processHotelsSearch)
            .Build();
    }

}

Пользователь может войти при запросе имени:

меня зовут джеймс бонд

Также имя может быть переменной длины. Я был бы лучше позвонить Луису отсюда и получить сущность (имя) для намерения. В настоящее время я не знаю, как я могу вызвать диалог luis из потока форм.

Ответы на вопрос(1)

Ваш ответ на вопрос