【问题标题】:How to get the value on the change of AdaptiveCard controls in ChatBot?如何获取 ChatBot 中 AdaptiveCard 控件更改的值?
【发布时间】:2019-08-30 19:33:34
【问题描述】:

我在我的 Microsoft ChatBot 中使用 AdaptiveCard 输入控件。谁能给我提示如何获取自适应控件的 TextInput 或 ChoiceSet 的更改属性或事件。例如,在选择 ChoiceSet 时,我想在 TextInput 控件中填充一些值?

               //new TextBlock() { Text = "Country" },
               new ChoiceSet()
               {
                   Id = "Country",
                   Speak = "<s>Please enter your country.</s>",
                   IsMultiSelect = false,
                   Style = ChoiceInputStyle.Compact,
                   Separation= SeparationStyle.Default,
                   Choices = choices,
                   Value = "country"
                 },
               new TextInput()
               {
                   Id = "Mobile",
                   Speak = "<s>Please enter your mobile with country code.</s>",
                   Placeholder = "+(country code)(Your Phone Number)",
                   Style = TextInputStyle.Tel,
                   IsRequired = true
               },

【问题讨论】:

  • 这在每个渠道都是不可能的,除非您正在制作自己的 Direct Line 客户端。你用的是什么频道?
  • 我在网站上使用 Microsoft ChatBot。表示我们正在使用网络聊天频道。
  • 请使用AdaptiveCards 1.1.2 NuGet 包,而不是Microsoft.AdaptiveCards

标签: c# botframework textinput adaptive-cards web-chat


【解决方案1】:

网络聊天不提供此类功能。我能想到一些解决方法。

选项 1:使用多张卡片

您可以发送一张卡片,让用户选择一个国家/地区,然后将该选项发送给机器人,然后机器人在下一轮发送另一张卡片,其中包含填写国家代码的文本输入。

选项 2:在选项集中指明国家代码

您可以让用户手动输入国家代码。您只需要确保您的机器人告诉他们他们需要这样做,并且您可以指出与每个选项相关联的国家/地区代码,可能在选项集中。

选项 3:自动在机器人端添加国家代码

虽然网络聊天 v4 非常可定制,但您的机器人更加可定制,因为您可以编写任何您想要的代码。像这样的专门功能最好在机器人本身中处理,因为您对客户端应用程序的控制有限。如果您明确表示用户不需要包含国家/地区代码,您的机器人可以根据所选国家/地区将国家/地区代码添加到电话号码中。您甚至可以让机器人变得足够聪明,在添加国家代码之前检测它是否已经存在。

【讨论】:

  • 感谢凯尔的帮助。
猜你喜欢
  • 2015-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多