Я отправляю сообщение (вопрос) из моего бэкэнда моему пользователю (мобильное приложение с использованием Direct Line), которое вызывает новое диалоговое окно и сохраняет ответ пользователя.
Чтобы начать новый диалог, я использую localalstorage. Я знаю, что мог бы использовать MemoryStorage или cosmoDB, но мне интересно, есть ли лучшее решение. Я не смог начать диалог из файла bot.js.
Мой бэкэнд отправляет следующее:
{
from: {
id: "001",
name: "backend"
},
name: "event",
type: "event",
value: "What do you think about X?"
};
как я отправляю вопрос пользователю:
bot.js
this.onEvent(async (context, next) => {
if (context.activity.name === 'event') {
await ls("event", "ON");
await context.sendActivity(context.activity.value)
}
await next();
});
в mainDialog.js ls запускает:
if (ls.get("event") == "ON") {
return await stepContext.beginDialog("feedbackDialog");
}
, затем в конце feedbackDialog я сбрасываю ls ("событие")
Этот подходработает, но мне интересно, как это можно улучшить.