如何从嵌入式bot响应架构方法更改父网页中的图像



谁能告诉我如何实现以下目标?

的情况是,客户的网站将有一个嵌入式机器人(由QnA驱动-这已经作为一个原型进行了很好的试验)。机器人对常见问题类型的问题给出了答案,其中许多(大约50%)与帮助用户理解答案的图像有关。这些图像通常是大型图表。如果你想象机器人显示在网页的RHS上,占据了屏幕面积的20%。如果答案有关联的图表,那么理想情况下,这将自动显示在左侧80%的房地产中。一个典型的问题和答案可能是-(Q)"如何改变PF800的拨码开关?"(A)"通过设备底部的舱口进入开关(见图)";…图表会出现在左边

理想情况下,我需要一种方法来显示这些图表自动,如果相关的机器人响应有一个相关的图表。我假设机器人将嵌入在网站的I-frame中,我也有能力影响网站设计本身。

实现这一目标的最佳方法是什么?我猜是关于

  1. "Knowing"哪个图与任何给定的答案相关联?
  2. 有一种自动使用该图表名称作为参数的方法,使bot可用,并从iframe传回"up"进入父网页?

如有任何意见,不胜感激。

除非有业务需要使用iframe进行Web聊天,否则我强烈建议您使用botframe - webchat来自定义聊天体验。真的,这就是它的目的。

特别地,查看04.api/c。incoming-activity-event样本。它演示了如何分派事件托管基于传入活动页面。例如,如果有一个可用的图表要显示,则由bot发送一个命名的事件活动(或附加特定值的消息)。当Web Chat接收到带有该命名事件(或其他值)的活动时,将在页面中调度一个事件,然后侦听器将拾取并呈现接收到的(或以其他方式存储的)图像。

我在一个测试机器人中做了类似的事情。当我请求查看地图时,我的坐标位置会随请求一起发送(经过许可)。我的机器人会调用Azure Maps的API。当API调用响应被返回(生成的URL)时,它被包含在返回到Web Chat的活动(在我的例子中是postBack)中。配置Web聊天寻找这样的活动,我相信这是匹配活动的"名称"属性。当它看到此活动到达时,它在页面中调度一个单独的事件,该事件同样包含生成的URL。该页设置了一个相关联的侦听器,等待此事件。当它被触发时,它将HTML附加到通过包含的URL在地图上显示我的位置的页面中。

总之,这个应该是相当容易实现的。

希望有所帮助!