Как получить значение при изменении элементов управления AdaptiveCard в чат-боте?

#c# #botframework #textinput #adaptive-cards #web-chat

#c# #botframework #ввод текста #адаптивные карточки #веб-чат

Вопрос:

Я использую элемент управления вводом AdaptiveCard в своем чат-боте Microsoft. Может ли кто-нибудь дать мне подсказки, как получить свойство изменения или событие 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. Это невозможно в каждом канале, если вы не создаете свой собственный клиент прямой линии. Какой канал вы используете?

2. Я использую чат-бота Microsoft на веб-сайте. означает, что мы используем канал веб-чата.

3. Пожалуйста, используйте пакет AdaptiveCards 1.1.2 NuGet, а не Microsoft. Адаптивные карточки .

Ответ №1:

Веб-чат не предлагает такого рода функциональность. Я могу придумать несколько обходных путей.

Вариант 1: использовать несколько карт

Вы можете отправить одну карточку, которая позволяет пользователю выбрать страну, а затем, как только этот выбор будет отправлен боту, на следующем ходу бот может отправить другую карточку с введенным текстом с введенным кодом страны.

Вариант 2: Укажите код страны в наборе выбора

Вы могли бы попросить пользователя ввести код страны вручную. Вам просто нужно убедиться, что ваш бот сообщает им, что им нужно это сделать, и вы могли бы указать, какой код страны связан с каждым выбором, возможно, в самом наборе выбора.

Вариант 3: Автоматически добавляйте код страны на стороне бота

В то время как Web Chat v4 очень настраиваем, ваш бот еще более настраиваем, потому что вы можете писать любой код, который захотите. Специализированная функциональность, подобная этой, лучше всего обрабатывается в самом боте, потому что у вас есть только такой контроль над клиентскими приложениями. Если вы дадите понять, что пользователю не нужно указывать код страны, ваш бот может просто добавить код страны к номеру телефона на основе выбранной страны. Вы даже можете сделать бота достаточно умным, чтобы определить, есть ли код страны, прежде чем он добавит его.

Комментарии:

1. Спасибо Кайлу за вашу помощь.