Estrutura de Quiz para Telegram com Motor de Execução e Armazenamento Persistente em PostgreSQL - Fluxo de trabalho n8n

Crie um bot de testes completo para o Telegram com este fluxo de trabalho robusto do n8n. Automatize a entrega de perguntas, armazene resultados em PostgreSQL e gere o progresso do utilizador com este modelo avançado do n8n.

Prévia do Workflow

Pronto para automatizar?

Baixe este modelo de fluxo de trabalho n8n e comece a usá-lo instantaneamente.

Para quem é indicado?

Formadores e Educadores: Que necessitem de administrar quizzes ou avaliações automatizadas.
Programadores: À procura de exemplos avançados de gestão de estado de base de dados dentro de um fluxo de trabalho n8n.
Especialistas em Automação: Que procurem um modelo complexo do n8n que combine bots de mensagens e armazenamento persistente.
Equipas de Marketing: Que pretendam lançar campanhas de conteúdo interativo através do Telegram.

Visão Geral

Este sofisticado fluxo de trabalho do n8n resolve o desafio de executar quizzes interativos e com estado num ambiente sem estado, como uma aplicação de mensagens. Tirando partido do PostgreSQL, esta automação do n8n rastreia o progresso do utilizador, randomiza as perguntas, aceita respostas e calcula as pontuações finais com precisão.

A mais-valia central fornecida por este modelo n8n é a transformação de um simples bot de Telegram num motor de quiz complexo. Cada ação, desde o início do teste até ao envio de uma resposta, é gerida por um nó n8n específico, garantindo a integridade dos dados. Esta abordagem garante que, mesmo que um utilizador pause o quiz, o seu progresso é mantido na base de dados, pronto a ser retomado quando o gatilho (trigger) do n8n for acionado novamente.

Como funciona

Este fluxo de trabalho do n8n inicia quando o nó n8n Telegram Trigger recebe uma mensagem recebida (um comando ou clique de botão).


  1. Gatilho e Inicialização: O Telegram Trigger ativa-se, seguido pelos nós Set Variables TG e Initialization, que extraem dados críticos como o Chat ID e o conteúdo da mensagem.

  2. Roteamento de Comandos: O nó If Is Start? verifica se é um comando de boas-vindas. Se não for o início, o fluxo é encaminhado através do nó Switch principal para distinguir entre comandos textuais (como pedir uma lista de testes) e cliques em botões inline (como selecionar uma resposta).

  3. Apresentação dos Testes: Se o utilizador solicitar testes, o nó Get Tests (um nó n8n de PostgreSQL) recupera os módulos disponíveis. Nós de manipulação de dados (Union Number with Question, Union list) formatam esta lista antes que o nó n8n do Telegram List tests a apresente ao utilizador.

  4. Início de um Quiz: Quando um utilizador seleciona um quiz, o fluxo acede ao Switch For Tests, depois a Get Test (PostgreSQL), e envia uma confirmação usando um nó n8n do Telegram.

  5. Ciclo de Perguntas: O nó Get Questions AND Answers vai buscar o conteúdo do quiz. O nó Sort Randomize questions embaralha a ordem, melhorando a experiência de avaliação. Os nós Variables e Code preparam a estrutura do item.

  6. Registo da Resposta: O nó n8n de PostgreSQL Upsert pred Answer regista o estado da pergunta. O nó n8n do Telegram Question envia a pergunta e aguarda uma resposta. O nó Wait do n8n pausa a execução até que a resposta do utilizador seja recebida.

  7. Rastreio de Progresso e Continuação: A resposta atualiza a resposta do utilizador através do nó PostgreSQL Update Answer. O nó Get Non-Answered Questions verifica os itens restantes. O nó If Any questions? decide o próximo passo: se verdadeiro, o fluxo de trabalho n8n volta ao início para enviar a próxima pergunta; se falso, o quiz está concluído.

  8. Pontuação Final: Após a conclusão, Calculate answers utiliza a lógica do PostgreSQL para pontuar o quiz, e o nó n8n do Telegram Result Test entrega os resultados finais ao utilizador.

Guia de Instalação

Para implementar este fluxo de trabalho abrangente do n8n, siga estes passos:


  1. Importar o modelo n8n: Copie o JSON fornecido para a sua instância n8n usando a opção 'Novo' -> 'Importar de JSON'.

  2. Credenciais do Telegram: Deve configurar as credenciais para o serviço Telegram. Isto é necessário para o gatilho n8n Telegram Trigger e todas as instâncias dos nós de saída do n8n para o Telegram (Test, Question, List tests, etc.).

  3. Credenciais do PostgreSQL: Configure as credenciais necessárias do PostgreSQL. Este fluxo de trabalho n8n utiliza inúmeras operações de nós n8n do PostgreSQL para gestão de estado, pontuação e recuperação de dados. Certifique-se de que as suas tabelas de base de dados (para testes, perguntas e respostas dos utilizadores) estão configuradas corretamente para corresponder às consultas SQL usadas nos parâmetros dos nós n8n do PostgreSQL.

  4. Configuração do Webhook: Para que o Telegram Trigger funcione, certifique-se de que a sua instância n8n está acessível externamente e que o bot do Telegram está configurado para enviar atualizações para o URL do webhook gerado.

  5. Ativar: Guarde o fluxo de trabalho do n8n e ative o estado para 'Ativo'.

Detalhes do Nó

Este fluxo de trabalho avançado do n8n utiliza dezenas de nós para gerir estados complexos:

Telegram Trigger (gatilho n8n): O ponto de entrada. Monitoriza as entradas do utilizador (mensagens, comandos, cliques de botão) a partir do bot Telegram configurado.
Nó PostgreSQL (Get Tests, Update Answer, Calculate answers, etc.): A espinha dorsal deste modelo n8n. Utilizado para armazenamento persistente, recuperação de perguntas do quiz, gravação de respostas do utilizador e cálculo de pontuações finais usando lógica do lado da base de dados. Essencial para manter o estado ao longo do quiz de várias etapas.
Nó Switch (Commands, Buttons, For Tests): Nó central de controlo de fluxo do n8n usado extensivamente para rotear os dados recebidos do Telegram com base em se é um comando do utilizador, um clique de botão inline ou uma ação específica do teste.
Nó Set (Variables TG, Initialization): Usado para definir e normalizar variáveis chave, como IDs de utilizador e metadados de mensagem, no início do fluxo de trabalho n8n.
Nó If (Is Start?, Any questions?): Determina o caminho de execução. Por exemplo, Any questions? verifica se o quiz terminou antes de enviar os resultados finais.
Nó Sort (Randomize questions): Garante que as perguntas recuperadas da base de dados são apresentadas numa ordem aleatória antes de serem enviadas pelo nó n8n do Telegram.


  • Nó Wait: Usado após o envio de uma pergunta através do nó n8n do Telegram Question para pausar a execução do fluxo de trabalho n8n até que a resposta necessária do utilizador seja recebida, permitindo uma interação síncrona no ambiente de chat assíncrono.

Fluxos de trabalho n8n relacionados

Pago

Nós: 12 Nós
Atualizado: Dezembro 26 2025
Ver tudo
Criado por
Andrew
Andrew

Analyst-Developer

Apresentou*