首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在BotFramework SDK3 C#中切换对话框

如何在BotFramework SDK3 C#中切换对话框
EN

Stack Overflow用户
提问于 2018-09-04 05:53:41
回答 1查看 448关注 0票数 1

我正在尝试使用proactiveMessages添加一个超时对话框。如果用户不回复对话框,超时对话框就会出现。所以我认为超时对话框应该是当前对话框。但我是否要关闭其他对话框a对话框

context.EndConversation说,似乎并没有在MS团队中工作。我当然又试过了。它仍然不起作用。

我也试过下面的方法。但这似乎也行不通。

代码语言:javascript
运行
复制
      using (var scope = DialogModule.BeginLifetimeScope(Conversation.Container, context.Activity.AsMessageActivity()))
        {

            var botData = scope.Resolve<IBotData>();
            await botData.LoadAsync(default(CancellationToken));
            var stack = scope.Resolve<IDialogStack>();
            stack.Reset();
            await botData.FlushAsync(default(CancellationToken));
        }

对更改对话框有什么建议吗?

EN

Stack Overflow用户

回答已采纳

发布于 2018-09-06 19:48:50

在C#机器人中有两种重定向对话框流的方法。

可以使用context.Forward()将用户发送到以当前正在处理的消息开头的新对话框:

await context.Forward(new NewOrderDialog(), this.ResumeAfterNewOrderDialog, message, CancellationToken.None);

或者您可以使用context.call()将用户发送到一个新的对话框,然后从这里从头开始:

context.Call(new AgeDialog(this.name), this.AgeDialogResumeAfter);

可以在任何地方定义"ResumeAfter“函数(包括新对话框本身中的函数),并且在用户完成超时对话框后将这些函数设置为要重定向的位置将允许您确定流。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52159591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档