首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单个机器人中集成FormFlow和QnA对话框

如何在单个机器人中集成FormFlow和QnA对话框
EN

Stack Overflow用户
提问于 2018-03-16 22:40:52
回答 2查看 649关注 0票数 0

如何在一个简单的机器人中集成FormFlow和QnA对话框。一旦QnA完成,我就无法调用FormFlow context。如果有相同的样品,请分享。

EN

回答 2

Stack Overflow用户

发布于 2018-03-23 16:53:53

如果你想使用QnA和FormFlow,创建一个对话框QnADialog,你可以先把你所有的消息发送到根对话框,然后你可以调用你的QnA对话框,如下所示

代码语言:javascript
复制
var qnadialog = new QnADialog();
var messageToForward = await message;
await context.Forward(qnadialog, ResumeAfterQnA, messageToForward, CancellationToken.None);

一旦QnADilalog被执行,它将调用ResumeAfterQnA,在那里你可以调用你的FormFlow对话框。

代码语言:javascript
复制
        private async Task ResumeAfterQnA(IDialogContext context, IAwaitable<object> results)
        {
                SampleForm form = new SampleForm();
                var sampleForm = new FormDialog<SampleForm>(form, SampleForm.BuildForm, FormOptions.PromptInStart);
                context.Call(sampleForm, RootDialog.SampleFormSubmitted);

        }

您需要有一个将在表单提交后调用的SampleFormSubmitted方法。

代码语言:javascript
复制
    private async Task SampleFormSubmitted(IDialogContext context, IAwaitable<SampleForm> result)
    {
        try
        {
            var query = await result;
            context.Done(true);
        } 
        catch (FormCanceledException<SampleForm> e)
        {
            string reply;
            if (e.InnerException == null)
            {
                reply = $"You quit. Maybe you can fill some other time.";
            }
            else
            {
                reply = $"Something went wrong. Please try again.";
            }
            context.Done(true);
            await context.PostAsync(reply);
        }

    }
票数 3
EN

Stack Overflow用户

发布于 2018-03-17 15:27:20

一种方法是从Luis模板开始。然后确定启动表单的具体意图。然后你可以有一个空的Luis意图“”,甚至是“None”,然后你把你的QnA放在那里。这样,Qna将在后台,LUIS将给你很大的灵活性,以触发与意图的特定对话

下面是一个例子

http://www.garypretty.co.uk/2017/03/26/forwarding-activities-messages-to-other-dialogs-in-microsoft-bot-framework/

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

https://stackoverflow.com/questions/49323387

复制
相关文章

相似问题

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