如何在bot框架中提出开放式问题?

时间:2016-07-05 09:08:27

标签: botframework

我正在使用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 :(得分:0)

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

只需使用:

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

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