1
我使用textbot來回顯用戶輸入的名稱並添加了一個選項來更改用戶的名稱使用set name
命令,但該程序只接受新名稱並且不會打印它。想知道什麼是錯的?我想在控制檯上回應改變的名稱..但程序退出,因爲當我輸入新名稱
這裏是我的代碼
var builder = require('botbuilder');
var helloBot = new builder.TextBot();
helloBot.add('/', new builder.CommandDialog()
.matches('^set name', builder.DialogAction.beginDialog('/profile'))
.matches('^quit', builder.DialogAction.endDialog())
.onDefault([
function (session, args, next) {
if (!session.userData.name) {
session.beginDialog('/profile');
} else {
console.log('in else part..');
next();
}
},
function (session, results) {
session.send('Hello %s!', session.userData.name);
}
]));
helloBot.add('/profile', [
function (session) {
if (session.userData.name) {
builder.Prompts.text(session, 'What would you like to change it to?');
console.log('setting name..');
} else {
builder.Prompts.text(session, 'Hi! What is your name?');
}
},
function (session, results) {
session.userData.name = results.response;
session.endDialog();
}
]);
helloBot.listenStdin();
輸出應該是這樣的:
Hi Hi! What is your name? james Hello james! set name What would you like to change it to? Bond
程序退出在這裏,而預期輸出是 您好邦德!