Наша сборка бота выполняет для пользователя «личностную викторину». Подумайте о Buzzfeed.
У меня есть множество атрибутов, которые я хочу увеличить, только целые числа, на основе выбора пользователя в форме, а затем вернуть конечный результат. Используя Sandwichbot в качестве шаблона, вы спрашиваете что-то вроде (перефразировано):
Вы любите помогать другим? да нет
Код похож:
.Confirm(async (state) =>
{
switch (state.HelpYesNo)
{
case true: HelpfulValue++; break;
case false: HurtfulValue++; break;
}
return new PromptAttribute("Thanks, choose OK to continue.");
Он работает нормально, но я ненавижу то, что мне приходится заставлять пользователя «Подтвердить», набирая ОК. Это дополнительный шаг, особенно если им приходится делать это после каждого вопроса.
Я попытался написать это с помощью проверки, например, validate: async (state, response) => Что дает лучший пользовательский опыт, но на самом деле не запускает switch-case. Я думаю, что форматирование переключателя не в том месте для валидации? Я не уверен в синтаксисе здесь, чтобы получить «проверку» для обработки дела.
Как правильно сделать что-то подобное в FormFlow?