请求代码建议以构建多层的对话机器人

时间:2019-05-21 20:35:33

标签: c# visual-studio botframework

我的公司希望Azure机器人沿着三层对话路径回答一系列“是”和“否”的答案。我正在使用 Visual Studio Community 2019 编辑代码,并使用 Bot Framework Emulator(V4)测试该机器人。

这里是指向问题和答案以及会话流程外观的链接:

https://cdn1.imggmi.com/uploads/2019/5/21/738797c22a7756a01fdf6786f26eb39b-full.png

我不确定如何将多层对话链接在一起。我只能用一层对话构建一个机器人,如下面的URL所示:

https://cdn1.imggmi.com/uploads/2019/5/21/99019e8e881d62f56ce449397ca9f191-full.png

我尝试使用“ SuggestedActionsBot”模板,但为了使我们的可交付成果看来需要进行大量的修改。

https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/csharp_dotnetcore/08.suggested-actions

仅供参考,下面是对话第一层代码外观的示例:

private static string ProcessInput(string text)
{
    const string FirstSequenceResponseYes = "Sure, can you explain the issue? " + 
        "Do you see error message such as 'Power BI Access Tokens Not Allocated?'";
    const string FirstSequenceResponseNo = "Thanks, user. " +
        "It's good to interact with you. Have a great day!";

    switch (text)
    {
        case "yes":
        {
            return $"{FirstSequenceResponseYes}";
        }

        case "no":
        {
            return $"{FirstSequenceResponseNo}";
        }

        default:
        {
            return "Please select one of the suggested action choices.";
        }
    }
}

编写代码以使交付成为可能的最佳方法是什么?有人可以提供与我们要实现的目标直接相关的URL和资源吗?

1 个答案:

答案 0 :(得分:0)

正如评论所说,我不确定我是否完全理解您的问题。

但是,要在漫游器中导航各层,我建议您阅读this文档。

使用bot-community solution,您可以创建具有多个级别的复杂对话框。

最后,为了创建一个仅接收肯定回答而没有答案的对话框,我建议使用ConfirmPrompt