Добавьте еще одно ключевое слово для выхода в FormFlows — Bot Framework

Можно ли изменить ключевое слово для команды Quit в FormDialog с помощью Bot Framework?

Я хочу генерировать исключение FormCanceledException при вводе определенного слова (не используя английский язык в качестве языка).

Если бы я мог изменить ключевое слово или добавить другое, которое делает то же самое, что и «Выйти», это было бы идеально.


person Caio Franco Barreiro    schedule 22.11.2016    source источник


Ответы (1)


Да, это возможно. Один из способов сделать это — добавить новый термин в команду FormCommand.Quit.

Здесь вы найдете пример, который делает именно это (и код ниже для справки)

private static IFormBuilder<T> CreateCustomForm<T>()
   where T : class
{
    var form = new FormBuilder<T>();
    var command = form.Configuration.Commands[FormCommand.Quit];
    var terms = command.Terms.ToList();
    terms.Add("cancel");
    command.Terms = terms.ToArray();

    var templateAttribute = form.Configuration.Template(TemplateUsage.NotUnderstood);
    var patterns = templateAttribute.Patterns;
    patterns[0] += " Type *cancel* to quit or *help* if you want more information.";
    templateAttribute.Patterns = patterns;

    return form;
}
person Ezequiel Jadib    schedule 22.11.2016