我正在使用 PromptDialog.Choice()
向用户呈现不同的选项。尝试次数设置为 0,因此如果他们输入的内容不是有效选项,则不会进行任何重试。
在这种情况下,我想将输入的文本传递给当前的对话框,该对话框已呈现提示并让它处理消息。
这样做的正确方法是什么?我尝试在提示对话框的简历处理程序中创建一个新事件,并直接调用 MessageReceivedAsync()
方法,但 a) 未按预期工作,b) 似乎是一个 hack。
一个示例是询问“我不确定您想要做什么。显示帮助还是继续尝试?”的提示。有两个选项“帮助”和“继续尝试”。但是,如果用户现在输入“什么是一加一?”,我希望当前对话框能够处理这个问题。
我也可以问不同的问题:如何用另一个对话框替换堆栈顶部的当前对话框?这将允许我调用同一个对话框。
最佳答案
我认为调用 MessageReceivedAsync
将是这里的方法。关键是从您正在创建的事件传递一个 IAwaitable
。
代码应该是这样的:
await MessageReceivedAsync(context, Awaitable.FromItem(yourActivity));
关于c# - 如何将 Prompt.Choice() 的结果转发到当前对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45350348/