首页 文章

如何在机器人框架中提出开放式问题?

提问于
浏览
0

我正在使用Bot Framework,C#Bot Builder和FormFlow(使用FieldRelfector)构建聊天机器人 . 在一个步骤中,我需要向用户提出一个未解决的问题,例如“添加任何其他相关信息”,我只想收集一些文本并将其存储起来供以后使用 . 我试图将变量定义为String:

[Prompt("Add any other relevant information")]
    public string OpenText;

在形式链中,我有:

.Field(new FieldReflector<MyForm>(nameof(OpenText))
                        .SetType(null)
                        .SetActive(state => !state.Finished()))

但无论我输入机器人的答案,这都无济于事:

"blah blah" is not a open text option.

怎么办呢?

1 回答

  • 0

    您是否有任何理由使用FieldReflector作为该属性?我建议只为该属性定义一个普通字段(您可以使用FieldReflector定义的字段和仅使用Field定义的字段) .

    只需使用:

    .Field(nameof(MyForm.OpenText), state => !state.Finished())
    

    如果有理由使用FieldReflector,请使用整个表单定义更新帖子 .

相关问题