在FormFlows - Bot Framework中为Quit添加另一个关键字

时间:2016-11-22 18:31:11

标签: c# bots botframework chatbot

是否可以使用Bot Framework在FormDialog中更改Quit突击队的关键字?

我想在键入某个单词时抛出FormCanceledException(不使用英语作为语言)。

如果我可以更改关键字,或添加与Quit相同的其他关键字,那将是完美的

1 个答案:

答案 0 :(得分:8)

是的,这是可能的。一种方法是在FormCommand.Quit命令中添加一个新术语。

Here你会找到一个正是这样做的例子(以及下面的代码供你参考)

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