Chatbot задает все вопросы сразу - PullRequest
0 голосов
/ 18 февраля 2019

Я пишу Slack Chatbot и пытаюсь создать метод, который сразу же задает следующий вопрос всякий раз, когда пользователь отвечает на предыдущий.К сожалению, метод выполняет все вопросы (после первого) сразу.

var status = { value: ' ' };

var ramCount = { value: 0 };
var HDDCount = { value: 0 };
var CPUCores = { value: 0 };

//Message handler
bot.on('message', (data) => {
    if(data.type !== 'message') return; //if data is not a message, exit     
    handleMessage(data.text, data.user);
});

//Intents
function handleMessage(message, user){
    if(message.includes(' make vm')){
        bot.postMessageToChannel('general', 'How much ram do you want your VM to have?');
        status.value = 'RAM';
        return;
    }

//RAM + HDD Question
reponse('RAM', 'HDD', ramCount, user, message, 'How much HDD do you want your VM to have?', 'general');

//HDD + CPU Question
reponse('HDD', 'CPU', HDDCount, user, message, 'How many cores do you want your VM to have?', 'general'); 

//CPU + OS Question 
reponse('CPU', 'OS', CPUCores, user, message, 'What OS do you want your vm to use?', 'general');
}

//Responses
function reponse(statusThis, statusNext, counter, user, userMessage, nextBotMessage, botChannel){
    if(userMessage.includes('<@UG82L6286> ') && user != null && status.value == statusThis){
    bot.postMessageToChannel(botChannel, nextBotMessage);
    counter.value = parseInt(userMessage.match(' [0-9]*'));

    status.value = statusNext;
    return;  
    } 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...