根据bool答案 - FormFlow / Bot Framework向用户发布消息

时间:2017-11-07 16:01:24

标签: c# bots botframework formflow

我似乎找不到根据用户如何回答bool在FormFlow中向用户发布消息的方法。要根据以前的答案发布字段,您可以使用:

 .Field(new FieldReflector<GetQuoteDialog>(nameof(Dothis))
            .SetActive((state) => state.isDone== true))

然而,我还没有找到一种方法来对.Message()做同样的事情。所以说如果我只想发送消息&#34;恭喜!&#34;,然后在表单流中发布下一个问题。

所以我想要播放的对话框就像:

  1. 真/假问题
  2. 用户回答是真的
  3. 发布消息&#34;恭喜&#34;如果用户回答为真
  4. 问下一个真/假问题
  5. 有没有办法让我失踪?

1 个答案:

答案 0 :(得分:1)

您可以从源代码中利用.Message()的第二个参数,即条件委托函数:

    // Summary:
    //     Show a message that does not require a response.
    //
    // Parameters:
    //   message:
    //     A \ref patterns string to fill in and send.
    //
    //   condition:
    //     Whether or not this step is active.
    //
    //   dependencies:
    //     Fields message depends on.
    //
    // Returns:
    //     Modified IFormBuilder.
    IFormBuilder<T> Message(string message, ActiveDelegate<T> condition = null, IEnumerable<string> dependencies = null);

所以,请尝试:

.Message("Congrats", condition: (form) => form.boolField == true)