在botbuilder v4中使用formflow

时间:2018-11-22 13:54:56

标签: c# botframework bots formflow

大家好,

对于一个项目,我必须创建一个聊天机器人,首先用户应在1和5之间选择一个数字。 最后,如果用户写1,则机器人会要求您写:

  • 您的名字
  • 您的姓氏
  • 您的电话号码

机器人返回您的姓名,电话号码并显示welcomeMessage

如果用户写2,则机器人会要求您写:

  • 您的地址,
  • 你的生日

机器人返回您的地址后,您的生日和机器人会显示welcomeMessage

我一开始使用formflow,但是由于我使用SDKBotBuilder V4,所以它没有用。

    if (turnContext.Activity.Type == ActivityTypes.Message)
        {

            if ("1".Equals(turnContext.Activity.Text))
            {
                //name
                //phoneNumer
            }
            else if ("2".Equals(turnContext.Activity.Text))
            {
                //adress
                //birthday
            }
            else if ("3".Equals(turnContext.Activity.Text))
            {
                await turnContext.SendActivityAsync($"you choose 3");
            }
            else if ("4".Equals(turnContext.Activity.Text))
            {
                await turnContext.SendActivityAsync($"you choose 4");
            }
            else if ("5".Equals(turnContext.Activity.Text))
            {
                await turnContext.SendActivityAsync($"you choose 5");
            }
            else
            {
                await turnContext.SendActivityAsync($"choose a number between 1 and 5");
            }
        }

2 个答案:

答案 0 :(得分:1)

尽管FormFlow非常适合此任务,但您正确地认为V4中没有FormFlow。但是,V4确实具有瀑布对话框,对于您要尝试的操作可能同样有用。瀑布对话框由瀑布步骤组成,就像微型对话框一样,提示用户输入信息。请查看文档以了解如何使用瀑布对话框:https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-dialog-manage-conversation-flow

答案 1 :(得分:0)

FormFlow现在可用于v4,只需添加Nuget(或多或少)

https://www.nuget.org/packages/Bot.Builder.Community.Dialogs.FormFlow/