0

大家好

对于一个项目,我必须创建一个聊天机器人,首先用户应该选择一个介于 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");
            }
        }
4

2 回答 2

1

虽然 FormFlow 非常适合这项任务,但您是正确的,V4 中没有 FormFlow。但是,V4 确实有瀑布对话框,可能对您正在尝试做的事情同样有用。瀑布对话框由瀑布步骤组成,类似于提示用户输入信息的迷你对话框。查看文档以了解如何使用瀑布对话框:https ://docs.microsoft.com/en-us/azure/bot-service/bot-builder-dialog-manage-conversation-flow

于 2018-11-26T22:27:37.290 回答
1

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

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

于 2019-11-14T16:59:33.907 回答