Post 基于 bool answer 给用户的消息 - FormFlow/Bot 框架
Post a message to the user based on bool answer - FormFlow/Bot Framework
我似乎找不到一种方法来根据用户如何回答布尔值 post 在 FormFlow 中向用户发送消息。要 post 基于先前答案的字段,您可以使用:
.Field(new FieldReflector<GetQuoteDialog>(nameof(Dothis))
.SetActive((state) => state.isDone== true))
但是我还没有找到对 .Message() 执行相同操作的方法。所以说如果我只想发送消息 "Congrats!",那么 post 表单流中的下一个问题。
所以我想播放的对话如下:
- true/false 问题
- 用户回答正确
- post 消息 "Congrats" 如果用户回答正确
- 问下一个true/false问题
有什么方法是我想念的吗?
您可以利用 .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)
我似乎找不到一种方法来根据用户如何回答布尔值 post 在 FormFlow 中向用户发送消息。要 post 基于先前答案的字段,您可以使用:
.Field(new FieldReflector<GetQuoteDialog>(nameof(Dothis))
.SetActive((state) => state.isDone== true))
但是我还没有找到对 .Message() 执行相同操作的方法。所以说如果我只想发送消息 "Congrats!",那么 post 表单流中的下一个问题。
所以我想播放的对话如下:
- true/false 问题
- 用户回答正确
- post 消息 "Congrats" 如果用户回答正确
- 问下一个true/false问题
有什么方法是我想念的吗?
您可以利用 .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)