gpt4 book ai didi

c# - 使用 PromptDialog.Confirm 传递参数 :resume Bot Framework (C#)

转载 作者:太空宇宙 更新时间:2023-11-03 23:04:48 25 4
gpt4 key购买 nike

在显示提示确认对话框之前,我从用户那里获得了一些输入。基于这些输入和 PromptDialog(是/否)选择,我必须做一些功能逻辑。
提示对话框

PromptDialog.Confirm(
context: context,
resume: ServiceDetails,
prompt: "Shall I continue with " + facility,
retry: "Please,Confirm?.");

简历功能:ServiceDetails

 private async Task ServiceDetails(IDialogContext context, IAwaitable<bool> result)
{
var confirm = await result;
if (confirm && facility=="xxx") // They said yes
{

在 ServiceDetails 方法中,我必须传递“设施”值。是否可以?或者我应该为这个特定的对话使用 session(context.userdata.SetValue) 来获得“设施”值吗?

最佳答案

如您所说,一种选择是使用机器人数据包并将值存储在那里。我认为使用 PrivateConversationData 数据包而不是 UserData 可能更有意义,因为后者将在所有 channel 和对话中可用。您可以在 State sample 中看到更多相关信息.

另一种可能更适合您的工作流程的替代方法是使用 FormFlow。使用 FormFlow,您可以定义一个稍后将转换为问题的模型。表单完成后,您将获得表单的“状态”以及用户提供的所有答案。

Here您可以找到有关 FormFlow 的文档。和 herehere有关如何使用的一些示例。

关于c# - 使用 PromptDialog.Confirm 传递参数 :resume Bot Framework (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41717516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com