Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Problema com Timezone na aplicação

No chat de teste o horário está correto, porém na aplicação Node não está.

Há uma forma de setar o Timezone no inicio da conversa, antes mesmo da msg de Welcome?

Obrigado.

3 respostas
solução!

Oi Eduardo,

deixe-me ver se eu entendi. Quando você usa a função now() e testa dentro do Assistant dá certo, mas ao fazer o deploy do app no Bluemix o horário que aparece está errado?

Se for isso, e tiver um exemplo, pode mandar pra gente. Podem ter alguns motivos para isso ocorrer.

Eu acho uma boa dar uma testada ativando a entidade @sys-time e vendo o que ela está te retornando.

Além disso, sobre setar o Timezone você pode fazer isso dentro do Assistant ou também na camada de aplicação mexendo na função que se encarrega disso.

Dentro do Assistant , você pode passar o timezone na variável do contexto do json, então ficaria com:

 { "context" : { "timestamp" : "Brazil/East" }}

esse timezone é para o leste do Brasil, mas tem também outros horários como para o oeste do Brasil, Brazil/West, Brazil/Acre e Brazil/DeNoronha.

Você pode ver os tipos de timezone na documentação (em inglês).

Além disso, também daria para passar o timezone na camada de aplicação como parâmetro, como abaixo:

 var watsonAssistant = new AssistantV1({
   username:'<coloque o nome de usuário aqui>',
   password:'<coloque a senha aqui>',
   version_date: '2018-02-16',
   qs: {timezone: 'Brazil/East'}
 });

ou ainda fazendo o mesmo do que no Assistant e o colocando em uma variável de contexto dentro da mensagem, como em:

assistant.message({
  workspace_id: '<coloque o workspace id aqui>',
  input: {'text': ' '}, context: {timezone: 'Brazil/East'}
}

Esses são alguns meios, espero que ajude, mas é uma boa olharmos direitinho o que pode estar ocorrendo. Pode ser, por exemplo, um conflito entre a sua aplicação e a região do IBM Cloud na qual o projeto está hospedado.

Qualquer coisa, só ir postando aqui no fórum :).

Olá Cássia. Obrigado pela ajuda.

No construtor não funcionou, porém na primeira mensagem de inicio sim.

Como estou alterando a aplicação "assistant-simple", a alteração ficou assim:

  // Initialize the module
  function init() {
    chatUpdateSetup();
    Api.sendRequest( '', {timezone: 'Brazil/East'});
    setupInputBox();
  }

Muito obrigado.

Isso é ótimo, Eduardo! Boa. Obrigada por compartilhar aqui no fórum, o/.