Я определил словарь здесьЯ пытаюсь построить чат бота с помощью рамки бота Microsoft
var dict = {'English 101?': 'Room 205', 'English 102?': 'Room 309',
'Math 301': 'Room 705', 'Math 302': 'Room 704'};
Я хочу бота ответить «в номере 205», когда пользователь спросить «где английский 101 ».
Я жёстко это следующим образом:
var builder = require('botbuilder');
var helloBot = new builder.TextBot();
var dialog = new builder.CommandDialog();
dialog.matches('^Where is English 101?', builder.DialogAction.send('In Room 205'));
dialog.matches('^Where is English 102?', builder.DialogAction.send('In Room 309'));
dialog.matches('^Where is Math 301?', builder.DialogAction.send('In Room 705'));
dialog.matches('^Where is Math 302?', builder.DialogAction.send('In Room 704'));
dialog.onDefault(builder.DialogAction.send("I'm sorry. I didn't understand."));
helloBot.listenStdin();
Вместо того, чтобы жестко прописывать каждый вопрос я хочу передать некоторые регулярное выражение к dialog.matches() функции первый параметр и использовать его в качестве ключа к Bot должен быть возможность получить значение из словаря и отправить обратно пользователю
Я попытался следующие, но это не сработало:
var str = ""
dialog.matches(str = ? , builder.DialogAction.send(dict[str.slice(9)]))
Как я мог быть в состоянии па s стандартный ввод на «str» и получить значение из словаря?
измените свое почтовое название, чтобы отразить то, что вы на самом деле нужны помощь. –