我们的机器人构建为用户进行了“个性测验”。想想 Buzzfeed。
我有各种我想增加的属性,只是整数,基于用户在表单上的选择,然后返回最终结果。使用 Sandwichbot 作为模板,这是在询问类似(释义):
你喜欢帮助别人吗?是 否
代码就像:
.Confirm(async (state) =>
{
switch (state.HelpYesNo)
{
case true: HelpfulValue++; break;
case false: HurtfulValue++; break;
}
return new PromptAttribute("Thanks, choose OK to continue.");
它工作正常,但我讨厌我必须通过键入 OK 来让用户“确认”。这是一个额外的步骤,特别是如果他们必须在每个问题之后都这样做。
我尝试用 validate 来编写这个,例如 validate: async (state, response) => 这提供了更好的用户体验,但实际上并没有运行 switch-case。我认为开关的格式是在错误的地方进行验证?我不确定此处获取“验证”以处理此案的语法。
在 FormFlow 中做这样的事情的正确方法是什么?