https://a.storyblok.com/f/270183/18185/15ac9d0e88/n8n_levelup_1200x600.png

Metas para 2021: aprimore seu vocabulário com a Vonage e a n8n

Publicado em February 21, 2021

Tempo de leitura: 13 minutos

Vamos ser sinceros. Aprender novos idiomas é um desafio. Paradoxalmente, isso se torna ainda mais desafiador quando você decide incluir isso entre suas resoluções de ano novo. Se seus aplicativos de aprendizado de idiomas não tiverem vocabulário atualizado e técnico, este tutorial pode ser exatamente o que você precisa para transformar suas metas em realidade.

Você aprenderá a automatizar o envio de vocabulário por meio do Vonage. Não é necessário ter conhecimentos prévios de programação para criar a solução: O n8n oferece um designer visual de fluxo de trabalho.

O vocabulário mais recente relacionado à tecnologia é obtido do HackerNews. O API do LingvaNex traduzirá para o seu idioma preferido. Uma grande variedade de idiomas está à sua disposição. Um base do Airtable é sua tela em branco para armazenar seu vocabulário para sempre.

Vamos começar!

Requisitos

Para criar este prático recurso para melhorar o vocabulário, você precisará do seguinte:

  • n8n – Você pode encontrar detalhes sobre como instalar o n8n no página de Introdução Rápida .

  • LingvaNex Account – Crie uma conta. O plano gratuito inclui até 200.000 caracteres quando você gera sua chave de API.

  • Account do Airtable – Cadastre-se gratuitamente.

Completed workflow for automated vocabulary improvementCompleted Workflow for Automated Vocabulary Improvement

Criação do fluxo de trabalho do n8n

Este fluxo de trabalho do n8n automatiza o envio de termos técnicos por meio de mensagens SMS usando o Vonage. Se você preferir baixar o fluxo de trabalho, você precisará configurá-lo preenchendo as informações que faltam. Um ponto de exclamação aparecerá nos nós que precisam de modificação.

Nós do n8n atuam como agentes de ligação no seu fluxo de trabalho. Eles executam, recuperam e enviam dados.

Um fluxo de trabalho é um conjunto de nós conectados sistematicamente para produzir um resultado específico. Serão utilizados os oito nós a seguir:

  1. Acionador Cron – Inicia o fluxo de trabalho diariamente às 8h

  2. Hacker News – Exibe os títulos das três notícias mais lidas do dia no Hacker News

  3. Função – Identifica palavras e filtra as duplicatas dos títulos

  4. LingvaNex – Traduz as palavras extraídas para o idioma preferido

  5. Conjunto – Filtra dados relevantes do LingvaNex

  6. Airtable – Salva o vocabulário no Airtable

  7. Função – Cria as mensagens

  8. Vonage – Envia palavras-chave por meio da SMS API da Vonage

À medida que você adiciona esses tipos de nó, pode renomeá-los para que seus nomes reflitam sua função.

Introdução ao n8n

Para iniciar o n8n, abra uma janela de console e digite o seguinte comando:

n8n start

Em seguida, digite “o” ou acesse a URL exibida na saída do console. O n8n será aberto em uma janela do navegador, com um único Nó Inicial no seu espaço de trabalho. O Nó “Start” não será necessário para este fluxo de trabalho, mas também não pode ser excluído. Fique à vontade para movê-lo para o lado.

Como alternativa, você pode experimentar isso no n8n.cloud, que não exige a instalação do n8n localmente.

Salvar um fluxo de trabalho

Abra o painel lateral esquerdo do n8n clicando no > (expandir). Clique em “Salvar como” e nomeie seu fluxo de trabalho; em seguida, Salvar.

Não se esqueça de salvar seu fluxo de trabalho regularmente. Clique em Salvar na seção Fluxos de trabalho deste painel para atualizar sua cópia salva.

1. Executando o fluxo de trabalho diariamente com o nó de acionamento Cron

O Nó Cron é útil para agendar a execução periódica de fluxos de trabalho em datas, horários ou intervalos fixos. Isso funciona de maneira semelhante ao utilitário em sistemas do tipo Unix, o Automatorou o Agendador de Tarefas.

Adicione um novo nó ao seu fluxo de trabalho clicando no botão + no canto superior direito da interface do Editore, em seguida, selecione o nó Cron na seção lista de nós na lista de nós.

Clique no botão “Adicionar horário Cron” e selecione “Todos os dias” como Modo. Digite “8” no campo Hora.

Renomeie o título do nó de “Cron” para “Acionador diário” clicando no nome, editando-o e clicando no ✔ (marca de seleção) à direita do nome. Isso concluirá a configuração do nó e fechará a janela de parâmetros.

Voltar ao Nó de acionamento diário e clique no “Executar nó”. Veja como deve ficar a janela de parâmetros do Cron Trigger:

Cron Trigger Node to Start WorkflowCron Trigger Node to Start Workflow

2. Recuperando os três artigos mais lidos com o Node do Hacker News

Para enriquecer seu fluxo de trabalho com vocabulário relacionado à tecnologia, adicione o Hacker News .

Selecione a opção “Todas” na lista suspensa . Na campo , digite “3” para limitar a seleção a três artigos do dia.

Em Campos adicionais, clique no botão “Adicionar campo” e selecione “Tags” na lista suspensa. No campo recém-criado Tags , selecione “Página inicial”. Isso garante a aparência atual do seu vocabulário.

Renomeie o título do nó de “Hacker News” para “Veja os 3 principais artigos” clicando no nome, editando-o e clicando no ✔ (sinal de seleção) à direita do nome.

Voltar para a Veja os 3 principais artigos e clique em Executar nó. O nó deve ter a seguinte aparência:

Hacker News Node to Retrieve Articles From Hacker NewsHacker News Node to Retrieve Articles From Hacker News

3. Extração de palavras de artigos com o nó de função

Os nós de função são usados para adicionar trechos personalizados de código JavaScript, transformar dados de outros nós ou implementar funcionalidades personalizadas que o n8n não suporta.
Como o nó anterior recuperou algum conteúdo adicional, você precisará de um Nó de Função para formatar e extrair apenas os dados necessários. Adicione um ao seu fluxo de trabalho.

Este nó de função dividirá os títulos em palavras. Ele também removerá qualquer formato numérico com a ajuda de expressões regulares. As duplicatas são removidas convertendo-se a matriz de palavras em um conjunto e, em seguida, de volta para uma matriz. Por fim, transformamos a matriz na estrutura de dados esperada pelo n8n.

Na visualização do Editor de Nós, clique no campo Código JavaScript para expandi-lo. Substitua o conteúdo existente pelo trecho a seguir:

const words = [];
const regex = /\d/g;
const newItems = [];

// Splits titles into words and removes numbers
// using regular expressions

for(let i=0; i < items.length; i++) {
  let split_titles = [];
  split_titles = items[i].json.title.split(' ');
  for(let j=0; j < split_titles.length; j++) {
    if(regex.test(split_titles[j])) {
      continue;
    } else {
      words.push(split_titles[j]);
    }
  }
}

// Removes all duplicate words by converting the
// array into a set and then back into an array

const uniqueWords = [...new Set(words)];

// Transform the array to the data structure expected
// by n8n

for(let k=0; k < uniqueWords.length; k++) {
  newItems.push({json: { words: uniqueWords[k] }});
}

return newItems;

Feche esta janela e você voltará automaticamente ao editor de nós.

Renomeie o título do nó de “Função” para “Extrair palavras” clicando no nome, editando-o e clicando no ✔ (marca de seleção).

Voltar ao Extrai palavras e clique no Executar nó.

Function Node to Extract WordsFunction Node to Extract Words

4. Traduzir as palavras com o Lingvanex Node

O nó do LingvaNex traduz as palavras extraídas para um idioma de sua escolha.

Adicione-a ao seu fluxo de trabalho e, em seguida, na seção “Credenciais” da API da LingvaNex , selecione “- Criar novo -”. No campo Nome das credenciais , digite um nome para suas credenciais, como “LingvaNex”; em seguida, insira sua chave do LingvaNex no campo Chave da API e clique no botão Criar . Acesse a página da sua página da sua conta LingvaNex e clique em Gerar chave para obter uma.

Adicione uma expressão clicando no símbolo de engrenagem ao lado do campo “Texto” e selecione “Adicionar expressão”.

Expressões são úteis para definir dinamicamente os parâmetros dos nós. Elas são representadas em formato de texto com espaços reservados. O código JavaScript é usado para permitir o acesso aos dados.

No seção “Seletor de variáveis” , selecione o seguinte:

Nós > Extrair palavras > Dados de saída > JSON > palavras

Sua expressão no campo “Expressão” ficará assim: {{$node["Extract words"].json["words"]}}

Selecione o idioma que deseja aprender na lista suspensa do campo “Traduzir para” e, em seguida, renomeie o título do nó de “LingvaNex” para “Traduzir” clicando no nome.

Volte ao nó “Translate” e clique em “Executar nó”.

Lingvanex Node for Translation of the Extracted WordsLingvanex Node for Translation of the Extracted Words

5. Filtrar dados com o nó “Set”

O nó LingvaNex gera saídas adicionais, como `cacheUse`, que não são necessárias para o restante do fluxo de trabalho.

Use um nó “Set” para garantir que apenas a palavra em inglês e a palavra traduzida sejam passadas para os nós seguintes. Adicione-o ao seu fluxo de trabalho e ative a opção Manter apenas Set para ativá-lo. Clique no botão “Adicionar valor” e selecione “String” na lista suspensa; em seguida, digite “palavra em inglês” no campo “Nome”. Adicione uma expressão clicando no símbolo de engrenagem ao lado do campo Valor e selecione “Adicionar expressão”. A janela Editar expressão será aberta.

Na seção “Seletor de variáveis”, selecione o seguinte: Nós > Traduzir > Dados de saída > JSON > fonte

Sua expressão no campo “Expressão” deve ficar assim: {{$node["Translate"].json["source"]}}

Clique no botão “Adicionar valor” e selecione “String” na lista suspensa; em seguida, digite “Palavra traduzida” no campo “Nome”.

Adicione uma expressão clicando no símbolo de engrenagens ao lado do campo “Valor” e selecione “Adicionar expressão”.

Na seção “Seletor de variáveis”, selecione o seguinte:

Nós > Traduzir > Dados de saída > JSON > resultado

Sua expressão deve ficar assim:

{{$node["Translate"].json["result"]}}

Renomeie o título do nó de “Definir” para “Filtrar dados” clicando no nome, editando-o e clicando no ✔ (marca de seleção) à direita do nome. Isso concluirá a configuração do nó e fechará a janela de parâmetros.

Voltar à Nó “Filtrar dados” e clique no Executar nó.

Filter Data Node for Retrieving Vocabulary DataFilter Data Node for Retrieving Vocabulary Data

6. Salvando vocabulário com o Airtable Node

Para salvar diariamente o vocabulário traduzido na sua planilha do Airtable, você precisará recuperar suas credenciais do Airtable.

Acesse seu painel e clique no ícone do usuário no canto superior direito da janela. Na lista suspensa, clique na Account . Na seção API da sua Visão Geral da Conta, clique em Gerar chave de API.

Você também precisará criar uma base no Airtable e usá-la para salvar automaticamente o vocabulário aqui. Acesse o painel do seu espaço de trabalho no Airtable e crie uma nova base clicando no ícone + ao lado de campo “Adicionar uma base” . Na lista suspensa, selecione “Começar do zero” para criar uma base vazia.

Renomeie as colunas padrão para “Palavra em inglês” e “Palavra traduzida” selecionando o Renomear na lista suspensa ao lado dos campos das colunas.

Altere o tipo de campo para “Texto de linha única” nas duas colunas. Exclua as demais colunas já existentes. O nome da tabela pode permanecer como “Tabela 1”.

Veja como sua base deve ficar:

Airtable Base for Your Vocabulary BacklogAirtable Base for Your Vocabulary Backlog

Depois de criar a base, você precisará localizar o ID da base para uso posterior. Você poderá obter o ID da base em página da API do Airtables .

Em seguida, adicione um nó do Airtable ao seu fluxo de trabalho e, depois, na seção campo “Credenciais” , selecione “- Criar novo -” na lista suspensa. Quando a janela “Criar novas credenciais: ‘API do Airtable’” for aberta, no Nome das credenciais , digite o nome de sua preferência, como “Airtable”.

Cole a chave de API do Airtable que você obteve anteriormente no campo “Chave de API”.

Clique no botão “Criar” —isso o levará automaticamente de volta ao editor de nós— e, em seguida, selecione “Anexar” na lista suspensa da campo .

No campo “ID de base” , digite o ID de base que você obteve anteriormente.

Digite o nome da tabela no campo “Tabela” — “Tabela 1”, caso você não tenha alterado o nome na sua base do Airtable.

Renomeie o título do nó de “Airtable” para “Salvar as palavras de hoje” clicando no nome, editando-o e clicando no ✔ (marca de seleção) à direita do nome. Isso concluirá a configuração do nó e fechará a janela de parâmetros.

Voltar para o Salvar as palavras de hoje e clique em Executar nó.

Airtable Node for Saving the VocabularyAirtable Node for Saving the Vocabulary

Acesse o Airtable para ver as palavras adicionadas à “Tabela 1”:

Airtable After Executing the NodeAirtable After Executing the Node

7. Elaboração da mensagem com o nó de função

Você usará um nó “Função” para criar sua mensagem; portanto, adicione um ao seu espaço de trabalho.

Este nó de função limitará o vocabulário diário (cinco, por padrão) e organizará as palavras a serem enviadas no formato “Palavra em inglês: Palavra traduzida”. Ele as adicionará a um array e, em seguida, converterá o conteúdo do array em uma string separada por vírgulas.

Na visualização do Editor de Nós, clique no campo Código JavaScript e cole o seguinte trecho de código:

const number_of_words = 5;
const words = [];

// Crafts the words to be sent in en_word : translated_word format
// and adds them to an array

for(let i=0; i < number_of_words; i++) {
  words.push(items[i].json['English word'] + ' : ' + items[i].json['Translated word']);
}

// Takes all the items from the array and converts them into a comma
// separated string

const words_of_the_day = words.join(', ');

return [{json: {words_of_the_day: words_of_the_day}}];

Feche esta janela; você voltará automaticamente ao editor de nós.

Renomeie o título do nó de “Função” para “Criar mensagem” clicando no nome, editando-o e clicando no ✔ (marca de seleção) à direita do nome. Isso concluirá a configuração do nó e fechará a janela de parâmetros.

Voltar à nó “Criar mensagem” e clique no Executar nó.

Function Node for Crafting the MessageFunction Node for Crafting the Message

8. Envio da mensagem SMS com o nó da Vonage

Por fim, você precisará de um nó da Vonage para enviar o vocabulário diário por mensagem SMS.

Adicione um nó Vonage ao seu fluxo de trabalho e, em seguida, na campo “API do Vonage” , selecione “- Criar novo -” na lista suspensa.

A janela “Criar novas credenciais: ‘Vonage API’” é aberta. Nomeie essa API como “Vonage”, digitando esse nome no campo campo “Nome das credenciais” e preencha os valores da Chave da API e do Segredo da API. Clique no botão Criar para salvar e retornar automaticamente ao editor de nós.

Digite “Vonage APIs” no campo . No campo Para: , digite o número de celular que receberá as mensagens diárias de vocabulário. Certifique-se de usar o formato E.164 (491234567).

Para personalizar sua mensagem, clique no ícone de engrenagem ao lado da Mensagem: . Selecione “Adicionar expressão” na lista suspensa. Isso abrirá a janela “Editar expressão”.

Você pode inserir um texto antes de importar os dados das palavras do dia, como “Bom dia, aqui estão as suas palavras de hoje:”.

No seção “Seletor de variáveis” , selecione o seguinte:

Nós > Criar mensagem > Dados de saída > JSON > palavras_do_dia

Sua expressão ficará mais ou menos assim:

Bom dia! Aqui estão as palavras de hoje: {{$node["Craft message"].json["words_of_the_day"]}}

Feche a janela “Editar expressão” quando estiver satisfeito com sua mensagem.

Renomeie o título do nó de “Vonage” para “Enviar SMS” clicando no nome, editando-o e clicando no ✔ (sinal de seleção) à direita do nome. Isso concluirá a configuração do nó e fechará a janela de parâmetros.

Voltar para o Enviar SMS e clique no Executar nó. Você verá os resultados finais com sua mensagem personalizada.

Vonage Node for Sending Out Daily Vocabulary MessagesVonage Node for Sending Out Daily Vocabulary Messages

Salve seu fluxo de trabalho e alterne Ativo para ligado (verde) no canto superior direito do editor de fluxo de trabalho.

Parabéns, seu fluxo de trabalho está concluído! Não há mais desculpas para adiar o aprendizado da língua dos seus sonhos. 📖🍎

End Result: Smart Vocabulary Learning Send via Vonage Sms APIEnd Result: Smart Vocabulary Learning Send via Vonage Sms API

Conclusão

Nesta combinação perfeita entre Vonage, LingvaNex, Airtable e n8n, você aprendeu a criar um fluxo de trabalho no n8n usando oito nós diferentes para receber vocabulário diário relacionado à tecnologia, extraído das últimas notícias em destaque do Hacker News. Que maneira divertida de aprimorar seu vocabulário!

Considere compartilhar esse fluxo de trabalho com outras pessoas e entre em contato com a comunidade n8n por meio do fórum deles.

E agora?

Esse fluxo de trabalho despertou seu interesse por mais automação e aprimoramento de habilidades? Aqui estão algumas ideias para saciar sua sede de conhecimento:

Você pode substituir o nó do HackerNews por outras APIs de notícias ou de dicionários. Também é possível recuperar palavras usando uma combinação de solicitações HTTP e nós de extração de HTML . Isso lhe proporcionará uma ampla variedade de opções de vocabulário.

Você pode usar os dados armazenados no Airtable para criar um painel de vocabulário. Experimente usar o Retool ou o aplicativo móvel sem código Bravo Studio . Isso vai adicionar um aspecto visual útil aos seus estudos.

As opções que você tem para explorar ainda mais são infinitas. Vá em frente!

Compartilhar:

https://a.storyblok.com/f/270183/400x533/656b9a5465/isabelhildebrand.png
Isabel Hildebrand

Isabel Hildebrand is currently studying law at HWR, Berlin. She is very passionate about automation and likes to work at the intersection of law, productivity, and technology. Feel free to reach out to her on LinkedIn or Twitter.