Как правильно обрабатывать действия AdaptiveCard с помощью DirectLine?

Как правильно обрабатывать действия AdaptiveCard на стороне клиента с помощью DirectLine? Должен ли я построить "value" для деятельности вручную?

Если это так, я понял, что значение multi-select обрабатывается по-разному для разных каналов (BotFrameworkEmulator отправляет значения через запятую, а WebChat использует точки с запятой). Какой формат мне выбрать? Не является ли это несоответствие ошибкой?

2 ответа

Решение

Эмулятор в некотором смысле является формой веб-чата. Я не думаю, что несоответствие является ошибкой, но если вы видите WebChat в разных местах, то, скорее всего, это будут разные версии и, следовательно, поведение может отличаться.

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

Насколько я могу судить, запятые являются более стандартными современными разделителями, поэтому, вероятно, лучше использовать их. Но если вы создаете свой собственный клиент Direct Line, то в конечном итоге вам решать, как вы отформатируете действия, которые ваш клиент отправляет боту.

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

Другие вопросы по тегам