feat: implement feedback collection system with quest-based interaction

This commit is contained in:
2025-11-16 00:07:41 +07:00
parent 8b83c15ab1
commit 8754c2b460
23 changed files with 963 additions and 1141 deletions

20
scenarios/feedback.ql Normal file
View File

@@ -0,0 +1,20 @@
квест ОбратнаяСвязь;
цель "Соберите отзыв о покупке кофе";
импорт Проблемы из "./modules/problems.ql";
импорт Позитив из "./modules/positive.ql";
граф {
узлы {
старт: { тип: начальный; описание: "Здравствуйте! Ответьте на пару вопросов."; переходы: [оценка]; }
оценка: { тип: действие; описание: "Оцените опыт от 0 до 10"; варианты: [
("02 👎", @Проблемы.причина),
("34 👎", @Проблемы.причина),
("56 😐", @Проблемы.причина),
("78 🙂", @Позитив.что_понравилось),
("910 👍", @Позитив.что_понравилось)
]; }
}
начало: старт;
}
конец;

View File

@@ -0,0 +1,11 @@
модуль Позитив;
узлы {
что_понравилось: { тип: действие; описание: "Что вам понравилось больше всего?"; варианты: [
("Вкус напитков", @Позитив.финал),
("Цена", @Позитив.финал),
("Скорость", @Позитив.финал),
("Удобство", @Позитив.финал)
]; }
финал: { тип: концовка; название: "Спасибо!"; описание: "Благодарим за отзыв!"; }
}
экспорт [что_понравилось, финал];

View File

@@ -0,0 +1,12 @@
модуль Проблемы;
узлы {
причина: { тип: действие; описание: "Что пошло не так?"; варианты: [
("Проблема с напитком", @Проблемы.финал),
("Проблема с аппаратом", @Проблемы.финал),
("Проблема с оплатой", @Проблемы.финал),
("Ассортимент", @Проблемы.финал),
("Другое", @Проблемы.финал)
]; }
финал: { тип: концовка; название: "Спасибо!"; описание: "Мы передадим вашу жалобу в поддержку."; }
}
экспорт [причина, финал];