Respondido

Variável nome como fazer


Pessoal, no inicio do meu fluxo solicito que o cliente digite o nome completo. Mas nas boas vindas gostaria de dar saudações utilizando apenas o primeiro nome, tenho como pegar apenas o primeiro nome da variável {{nome}} ?

icon

Melhor resposta por Luis_Araujo 27 April 2021, 22:48

Veja o original

18 comentários

Reputação 7
Crachá +2

opa, tem sim só tratar a variável com um stringfy e quando der espaço você corta

Show de bola Pedro, muito obrigado!


Salvando meu dia hoje. 🙏

Bom dia Anildo, tudo bem?


É possível sim, você pode fazer o tratamento da variável através de um script, segue exemplo:


No ponto em que o usuário digita o nome completo, você pode criar uma ação de Execução de Script, e colocar a variável “input.content” como variável de entrada.


Então você irá adicionar o seguinte script:


const run = (name) => {
return name.split(" ")[0];
}

Então você deverá definir um nome para a variável de retorno, e usar ela no fluxo. Segue exemplo:


Reputação 7
Crachá +2

exato foi uma confusão minha não é stringfy, é split

Perfeito, muito esclarecedor.

Grato pela ajuda amigos.

Eu utilizo o script abaixo, assim se o usuário digitar fadoa glauss vieira, bot exibirá Olá, Fadoa!.


Object.defineProperty(Array.prototype, "first", {
value: function first() {
return this[0];
},
writable: true,
configurable: true
});

function capitalizeFirstLetter(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}

const run = (name) => {
name = name.split(' ');

return capitalizeFirstLetter(name.first());
}

Me desculpe a ignorância, mas sou novo com a ferramenta. Ele esta me retornando apenas o numero 1. O que posso estar fazendo de errado ?

Reputação 7

@Anildo_Ivo_da_Silva posta pra gente um print de como você está fazendo que aí fica mais fácil da gente te ajudar!

Reputação 7

@Anildo_Ivo_da_Silva deveria estar funcionando.


O que está sendo passado no input.content? Aparentemente está tudo correto.

o input.content é o que entra na entrada do usuário né ? Se realmente for esta entrando o nome

Reputação 7

Sim, a input.content representa a última interação do usuário. Se ele está digitando o nome, deveria estar dando certo. Tente salvar em uma variável e passar a variável, aí talvez seja mais fácil de você identificar o erro.

estou passando para a variável de saída que é primeiroNome, não é suficiente ?

Reputação 7

Desculpa, quis dizer para transformar a input.content em uma variável e passar essa variável como parâmetro de entrada. Assim você consegue ver o valor da variável na área de Debug e fica mais fácil de encontrar o problema


Note que a variavel primeironome esta com valor 1.

Reputação 7
Crachá +2

Oi Anildo tudo bem? bora ver isso ai, onde esta o bloco que você pede o nome do cliente?

Boa tarde, Anildo, tudo bem?


Pelo que consegui identificar, o script está inserido como ação de entrada no bloco, por isso ele está pegando o input anterior (1). Pode testar passar o script para ação de saída do bloco e ver se irá funcionar?


Para esclarecer, as ações são executadas na seguinte ordem:


Ações de entrada - Executadas antes de exibir a mensagem no bloco

Ações de saída - Executadas após o input do usuário

Bom dia,


Venho aqui agradecer pela ajuda dos amigos. Deu tudo certo por aqui.

Eu estava colocando bem como o @Luis_Araujo mensionou o script nas ações de entrada, mas tinha de ser na de saide.


Gratidão

Comente