let level = 0; let usersName; let path; const getBotReply = (msg) => { if (level === 0) { level = 1; usersName = msg; return "Chur " + usersName + ". Do you live in Raglan?"; } if (level === 1) { level = 2; if (msg === "yes") { path = "left-yes"; return "Do you know how to surf?"; } if (msg === "no") { path = "right-no"; return "Are you from Auckland?"; } }Básicamente lo quiero para que en lugar de escribir sí o no. El usuario escribirá reset y volverá al "nivel 0"
He intentado:
if (msg === "reset") { level = 0; }en este caso, creo que sería preferible incluir un bucle while.
while(msg === "reset"){level = 0};Si coloca su comprobación de reinicio en la parte superior, entonces lo ha hecho correctamente y simplemente olvidó un retorno en la solución que sugirió.
Si no incluye una declaración de retorno en la verificación de si, la función simplemente continuará, por lo que ejecutará la siguiente verificación de si, que coincide con el nivel 0 y asumirá que "restablecer" es el nombre del usuario.
Así que si incluyes
if(msg === "reset"{ level = 0 return }Debería funcionar bien, puede dejar el retorno en blanco o incluir un mensaje. Incluí un violín JS que es literalmente su código con el cheque fijo si: https://jsfiddle.net/5tu7c20n/