大家好,
对于一个项目,我必须创建一个聊天机器人,首先用户应在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");
}
}
答案 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/