如何获取 ChatBot 中 AdaptiveCard 控件变化的值?

How to get the value on the change of AdaptiveCard controls in ChatBot?

我在我的 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
               },

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

选项 1:使用多张卡片

你可以发送一张卡片让用户 select 一个国家,然后一旦 selection 被发送到机器人,在下一轮机器人可以发送另一张带有填写国家代码的文本输入。

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

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

选项 3:自动在 bot 端添加国家代码

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