0
var bot = new builder.UniversalBot(connector, [
function (session, args, next) {
if (!session.userData.name) {
session.beginDialog('profile');
} else {
next();
}
},
function (session, results) {
session.send('Hello %s!', session.userData.name);
}]);bot.dialog('profile', [
function (session) {
builder.Prompts.text(session, 'Hi! What is your name?');
},
function (session, results) {
session.userData.name = results.response;
session.endDialog();
}]);
上述代碼取自Microsoft bot框架文檔。在這裏,我無法理解session.endDialog()的用途。運行此代碼後,它會詢問用戶名並獲取輸入並用「hello user input」回覆。會發生什麼事情呢,它一次又一次地循環着。 我想在獲取用戶名後啓動qnamaker對話框,並且應該繼續使用qnamaker,並且不應該回到要求用戶名的第一個函數。如何結束對話框並啓動另一個對話框?
我不明白你的問題。如果你想開始一個新的對話框,使用'session.beginDialog(「dialogName」)'。有關更多信息,請參見[理解對話框](https://docs.microsoft.com/zh-cn/bot-framework/nodejs/bot-builder-nodejs-dialog-overview)。 – nilsw