首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从上一个提示符中单击PromptDialog.Choice

从上一个提示符中单击PromptDialog.Choice
EN

Stack Overflow用户
提问于 2018-04-30 07:29:50
回答 1查看 205关注 0票数 1

用户是否可以单击上一提示符的按钮并被重定向回该状态?

例如:

机器人:这是你的选项:菜单,促销,方向(以PromptDialog.Choice的形式提供) 用户:单击菜单 Bot:入门、入门、甜点(以PromptDialog.Choice的形式提供) 用户:单击Main 机器人:这是主管道:(主管道的列表,后面跟着一个PromptDialog.Choice,在其他地方) 用户:向上滚动,点击促销 Alternatively__, User:向上滚动,单击启动器

我知道我可以处理切换到“蝎子”的对话框,但是如果我有一个具有4-5提示符的对话框,并且用户滚动起来在同一个对话框中点击前面的一个提示,该怎么办?有什么机制来处理吗?

我正在C#上运行,如果这有帮助的话

EN

回答 1

Stack Overflow用户

发布于 2018-04-30 17:32:25

大多数人使用的解决方案都有回复验证,以便如果用户响应先前的提示符,代码可以说“无效响应”,或者代码可以从提示点重新启动,这取决于您想要完成什么。这是一个利用状态数据的好地方。

如果您对所有提示(如“是”/“否”)的选择是相同的,则这将非常困难,可能无法完成。如果您的提示有唯一值,您可以在ConversationData中存储“步骤”,检查它属于哪个步骤的用户输入,并将步骤计数设置为他们响应的步骤。

一些粗略的伪码看起来如下所示:

context.ConversationData.SetValue("step", 1);

用户回答步骤1

检查输入是否适合该步骤。

对用户输入执行逻辑

context.ConversationData.SetValue("step", 2);

用户回答步骤2

检查输入是否适合该步骤。

对用户输入执行逻辑

context.ConversationData.SetValue("step", 3);

用户滚动并回答步骤1

检查输入是否适合该步骤(在本例中不是)

将步骤计数重置为1

对该步骤的用户输入执行逻辑。

然后,您将根据步骤的顺序决定是否继续,或者可以有其他状态变量跟踪它们之前的步骤,比如context.ConversationData.SetValue("step3", true);,这意味着用户已经回答了步骤3,下一个提示符将是步骤4。

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

https://stackoverflow.com/questions/50095851

复制
相关文章

相似问题

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