【问题标题】:Bot Framework Prompt Dialog with Image带有图像的 Bot Framework 提示对话框
【发布时间】:2017-03-30 21:14:05
【问题描述】:

我正在使用 Bot 框架,我想显示通过使用方法 PromptDialog.Choice 附加图像的选项列表,以便利用 ResumeAfterChoose 控制我的业务逻辑的方法。但是,我只看到写在EchoBot Sample 中的附件对话框,它只创建消息列表,使我在客户选择列表之一后难以处理我的业务逻辑。请告诉我实现它的方法。谢谢

【问题讨论】:

  • 我也有同样的问题,但是使用 node 而不是 c# :/

标签: c# botframework


【解决方案1】:

开箱即用,您无法做到这一点。不过,有几种方法可以实现这一目标。

首先,您是说使用附件对您不起作用,因为您将无法处理您的业务逻辑。这是部分正确的。但不是因为你提到的原因。

您可以将带有按钮的HeroCards 列表放在一起,并使用附件的轮播布局(请参阅RichCardsCarouselCards 示例)。然后,您可以只对不同的方法执行context.Wait(类似于PromptDialog 中的ResumeAfterChoose 方法)并在那里处理逻辑。该方法将获取单击按钮的值,然后您可以执行业务逻辑。现在...需要注意的是,如果用户编写的任何内容与选项不一致,您仍然会点击此方法。

你猜怎么着?我刚刚描述的与PromptDialog.Choice 在幕后所做的非常相似......唯一的区别是它添加了一个重试逻辑来处理我提到的警告,并且使用的布局是一个列表,因为它只是呈现一个单个 HeroCard 和多个按钮(选项)

在这种情况下,我会采用的方法是尝试组合一个自定义 PromptStyler,覆盖 Apply<T> 方法并添加您的逻辑,以根据使用的 PromptStyle 以您想要的方式呈现选择选项.

默认情况下,PromptDialog.Choice 使用 PromptStyle.Auto,即在游戏结束时(在 PromptStyler 中)converts the options into a HeroCard with multiple buttons。您可以轻松更改该逻辑以创建多张卡片并为它们使用图像。

【讨论】:

  • 非常感谢您对我的项目的帮助!当我询问 Bot Framework 时,你总是支持我。我会尝试按照您的建议实施。非常感谢!
猜你喜欢
  • 2017-06-09
  • 2017-04-27
  • 2016-10-30
  • 2019-11-01
  • 2016-11-08
  • 1970-01-01
  • 1970-01-01
  • 2022-11-14
  • 1970-01-01
相关资源
最近更新 更多