Para seguir diferentes abordagens a depender da resposta do usuário, utiliza-se condicionais com if/else.
Exemplo:
QUESTION(
'Olá! Você está podendo falar agora?',
'resposta',
'string',
['Sim', 'Não']
);
if (data.resposta == 'Sim') {
QUESTION(
'Qual o seu email?',
'email',
'string',
);
} else {
QUESTION(
'Em que horário você estará disponível?',
'horario',
'string',
['8-12h', '12-18h', '18-22h']
);
MESSAGE(
'Ok, entraremos em contato no horário de ' + data.horario
);
}
Para as respostas não, o bot retorna:
É possível gerar ifs/elses para todas as possíveis respostas do usuário. Para isso, basta utilizar o else if, como no exemplo abaixo.
QUESTION(
'Olá! Você está podendo falar agora?',
'resposta',
'string',
['Sim', 'Não', 'Talvez', 'Não e não estarei'],
'Escolha uma opção'
);
if (data.resposta == 'Sim') {
QUESTION(
'Qual o seu email?',
'email',
'string'
)
}
else if (data.resposta == 'Não') {
QUESTION(
'Em que horário você estará disponível?',
'horario',
'string',
['8-12h', '12-18h', '18-22h']
);
MESSAGE(
'Ok, entraremos em contato no horário de ' + data.horario
);
}
else if (data.resposta == 'Talvez') {
QUESTION(
'Iremos te fazer umas perguntas, topa?',
'talvezResposta',
'string',
['Sim', 'Não']
);
if (data.talvezResposta == 'Sim') {
QUESTION(
'Qual o seu email?',
'email',
'string'
);
} else {
MESSAGE(
'Ok, até a próxima!'
);
}
} else if (data.resposta == 'Não e não estarei') {
MESSAGE(
'Ok, até a próxima!'
);
}
Vamos analisar o retorno de todos esses ifs/elses:
Caso a pessoa selecione "Sim", o bot retorna:
Qual o seu email?
Caso a pessoa selecione "Não", o bot retorna:
Em que horário você estará disponível?
( )8-12h
( )12-18h
( )18-22h
Caso a pessoa selecione "Talvez", o bot retorna:
Iremos te fazer umas perguntas, topa?
( )Sim
( )Não
Caso a pessoa selecione "Talvez" e "Sim", o bot retorna:
Qual o seu email?
Caso a pessoa selecione "Talvez" e "Não", o bot retorna:
Ok, até a próxima!
Caso a pessoa selecione "Não e não estarei", o bot retorna:
Ok, até a próxima!
Para o bot ficar mais organizado é possível colocar algumas chamadas, que aparecerão mais de uma vez, em uma funçao, e chamá-la abrindo e fechando parênteses, como no exemplo abaixo, que usa as funções pegaEmail(), finalizaAtendimento() e inicio().
function pegaEmail() {
QUESTION(
'Qual o seu email?',
'email',
'string'
);
}
function finalizaAtendimento() {
MESSAGE(
'Ok, até a próxima!'
)
}
function inicio() {
QUESTION(
'Olá! Você está podendo falar agora?',
'resposta',
'string',
['Sim', 'Não', 'Talvez', 'Não e não estarei'],
'Escolha uma opção'
);
if (data.resposta == 'Sim') {
pegaEmail()
} else if (data.resposta == 'Não') {
QUESTION(
'Em que horário você estará disponível?',
'horario',
'string',
['8-12h', '12-18h', '18-22h']
);
MESSAGE(
'Entraremos em contato no horário de ' + data.horario
);
finalizaAtendimento()
} else if (data.resposta == 'Talvez') {
QUESTION(
'Iremos te fazer umas perguntas, topa?',
'talvezResposta',
'string',
['Sim', 'Não']
);
if (data.talvezResposta == 'Sim') {
pegaEmail()
} else {
finalizaAtendimento()
}
} else if (data.resposta == 'Não e não estarei') {
finalizaAtendimento()
}
}
inicio()
O bot acima retorna as mesmas mensagens que o exemplo anterior.