У меня возникли проблемы с получением метода getRawInput() для захвата пользовательского ввода после его первоначального вызова. Я хотел бы, чтобы пользователь выбирал и действовал, а затем помощник отвечал вопросом, на который пользователь должен ответить, чтобы двигаться вперед. Например, пользователь хотел бы перевести деньги с расчетного счета на сберегательный счет и сказал бы: «Я хотел бы сделать перевод». Помощник спросит: «С какого аккаунта вы хотите перевести деньги». Пользователь ответит, указав учетную запись, с которой он хотел бы выполнить перевод. Похоже, проблема в том, что помощник не принимает второй ввод, и я получаю сообщение об ошибке «Действие: {название моего действия} не отвечает прямо сейчас. Повторите попытку позже». Пожалуйста, дайте мне знать, есть ли лучший способ или более подходящий метод вызова встроенных диалогов.
Вот код, который я пытаюсь выполнить:
else if (assistant.getRawInput() === 'I want to make a transfer') {
let inputPrompt = assistant.buildInputPrompt(true, 'Sure, which account would you like to transfer from? You can say checking or savings.');
assistant.ask(inputPrompt);
if(assistant.getRawInput() === 'checking') {
let transFrom = 'checking';
let transTo = 'savings';
let inputPrompt = assistant.buildInputPrompt(true, 'You are going to make a transfer from your ' + transFrom + ' account to your ' + transTo + ' account. What is the amount you would like to transfer?');
assistant.ask(inputPrompt);
let amtInput = assistant.getRawInput();
let amt = parseInt(amtInput);
transferMoney(transFrom, transTo, amt);
inputPrompt = assistant.buildInputPrompt(true, 'Cool, you have transfered ' + amt + ' dollars from your ' + transFrom + ' account to your ' + transTo + ' account. Your new balance is ' + customer1.chkBal + ' dollars in your ' + transFrom + ' account and ' + customer1.savBal + ' in your ' + transTo + ' account.');
assistant.ask(inputPrompt);
} else if (assistant.getRawInput() === 'savings') {
let transFrom = 'savings';
let transTo = 'checking';
let inputPrompt = assistant.buildInputPrompt(true, 'You are going to make a transfer from your ' + transFrom + ' account to your ' + transTo + ' account. What is the amount you would like to transfer?');
assistant.ask(inputPrompt);
let amtInput = assistant.getRawInput();
let amt = parseInt(amtInput);
transferMoney(transFrom, transTo, amt);
inputPrompt = assistant.buildInputPrompt(true, 'Cool, you have transfered ' + amt + ' dollars from your ' + transFrom + ' account to your ' + transTo + ' account. Your new balance is ' + customer1.chkBal + ' dollars in your ' + transFrom +' account and ' + customer1.savBal + ' in your ' + transTo + ' account.');
assistant.ask(inputPrompt);
}