Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Prompt sem retorno

Olá,

Ao realizar o módulo 3 do curso, na comunicação entre o chatbot criado no Watson ele apresenta a mensagem de Boas-vindas, porém ao responder o chat o mesmo não responde e encerra o prompt. Por favor, alguém poderia me auxiliar? A seguir encontra-se o github que contém o código e o mesmo é descrito abaixo.

GitHUb: https://github.com/scandoleiro/Watson-Conversation

var conversationV1 = require('watson-developer-cloud/conversation/v1');
var prompt = require('prompt-sync')();

//nome de usuario, senha, workspace, data de versao
var conversation = new conversationV1({
    username:'<meu_usuario>',
    password:'<minha senha>',
    version_date:'2018-03-27'
});

conversation.message({
  workspace_id: '<meu_workspace>',
}, processarResposta);

function processarResposta (erro, response) {
    if(erro){
        console.log('error: ' . erro)
    }
    var encerrarConversa = false;
    if(response.output.acao === 'encerrar'){
        //fazer alguma coisa
        console.log(response.output.text[0]);
        encerrarConversa = true;

    }
    else
    {
      if(response.output.text.length != 0){
          console.log(response.output.text[0])
      }
    }

// se não encerrar a conversar
if(!encerrarConversa){
    //manda um prompt
    var novaMensagemUsuario = prompt('>> ');
 conversation.message({
      workspace_id: '<meu workspace>',
      input: { input:{'text': novaMensagemUsuario}},
      processarResposta});
    }
};

Obrigada!

1 resposta
solução!

Olá Liliane,

Dentro do seu if "!encerrarConversa" tem erro no "input" e no envio do contexto.

Segue o correto:

if(!encerrarConversa){
    //manda um prompt
    var novaMensagemUsuario = prompt('>> ');
    conversation.message(
        {
          workspace_id: '',
          input: {'text': novaMensagemUsuario},
          context : response.context
        },
          processarResposta);
    }
};

Apenas lembre de colocar o id da workspace.