Monitore Reddit e comunidade no Telegram

O que é e por que usar

Monitorar comunidades online tornou-se uma necessidade para profissionais de marketing, atendimento ao cliente, growth hackers e criadores de conteúdo. O Reddit, com mais de 430 milhões de usuários ativos mensais, é uma das maiores fontes de discussões orgânicas sobre produtos, tendências e problemas reais. Paralelamente, grupos no Telegram concentram comunidades engajadas que compartilham informações em tempo real.

O problema é que acompanhar manualmente essas duas plataformas é impraticável. Você precisaria abrir dezenas de abas, ler centenas de posts e mensagens, e ainda assim perderia informações críticas. Com automação usando n8n, é possível criar um sistema que monitora subreddits específicos e canais do Telegram, filtra o conteúdo relevante, e entrega um resumo consolidado no seu chat pessoal do Telegram, no Slack ou por email.

Este artigo mostra como construir exatamente isso: um workflow no n8n que verifica periodicamente subreddits por menções a palavras-chave, coleta as threads mais recentes de canais do Telegram, e envia um resumo diário organizado. O resultado é um sistema que roda 24/7 sem intervenção manual, permitindo que você foque em análise e ação, não em coleta de dados.

Pré-requisitos

  • Conta no n8n (self-hosted ou n8n.cloud)
  • Conta no Reddit (para criar um app e obter credenciais API)
  • Conta no Telegram e um bot criado via BotFather
  • Conhecimento básico de JSON e HTTP requests
  • Token do bot do Telegram e ID do chat/grupo que será monitorado
  • Client ID e Client Secret do Reddit (obtidos em reddit.com/prefs/apps)

Exemplo Prático: Monitoramento de menções a produtos SaaS

Cenário concreto: Imagine que você gerencia o suporte de uma ferramenta de gestão de projetos. Diariamente, usuários postam dúvidas no subreddit r/projectmanagement e no grupo do Telegram “Ferramentas Ágeis”. Você precisa saber quando alguém menciona seu produto, reclama de concorrentes, ou pergunta por alternativas. Atualmente, você gasta cerca de 30 minutos por dia vasculhando essas comunidades.

O que será automatizado: Um workflow no n8n que a cada 2 horas consulta a API do Reddit em busca de posts contendo palavras-chave como “seuproduto”, “bug”, “alternativa” no subreddit alvo. Simultaneamente, o bot do Telegram coleta as últimas 50 mensagens do grupo monitorado. O n8n filtra apenas mensagens que contenham as mesmas palavras-chave, combina os resultados, e envia um resumo formatado para o seu Telegram pessoal.

Resultado esperado: Você recebe 3 a 5 notificações por dia, cada uma contendo o link direto para o post ou mensagem relevante, o autor, e um trecho do conteúdo. O tempo de monitoramento cai para zero, e o tempo de resposta a menções críticas reduz de horas para minutos.

Configuração Passo a Passo

Passo 1: Obter credenciais do Reddit

Acesse reddit.com/prefs/apps e crie um novo aplicativo do tipo “script”. Anote o client_id (string abaixo do nome do app) e o client_secret. Essas credenciais serão usadas para autenticação via OAuth2.

Passo 2: Criar bot do Telegram e obter token

Smartphone displaying social media icons, held in a hand against a bright yellow background.

No Telegram, converse com o BotFather. Use o comando /newbot, escolha um nome e username. O BotFather retornará um token HTTP API. Para obter o ID do chat, envie uma mensagem para o bot e acesse https://api.telegram.org/botSEU_TOKEN/getUpdates. O ID aparecerá no JSON retornado.

Passo 3: Construir o workflow no n8n

Crie um novo workflow no n8n. A estrutura terá 5 nós principais:

  1. Schedule Trigger – define a periodicidade (ex: a cada 2 horas)
  2. HTTP Request (Reddit OAuth) – obtém token de acesso
  3. HTTP Request (Reddit Search) – busca posts no subreddit
  4. Telegram (Get Updates) – coleta mensagens recentes
  5. Telegram (Send Message) – envia o resumo consolidado

Passo 4: Configurar o nó de Schedule Trigger

Adicione um nó Schedule Trigger. Configure para execução a cada 2 horas:

{
  "rule": {
    "interval": 120
  }
}

Você pode ajustar para diário (1440 minutos) se o volume for menor.

Passo 5: Configurar autenticação OAuth2 do Reddit

Adicione um nó HTTP Request com os seguintes parâmetros:

  • Method: POST
  • URL: https://www.reddit.com/api/v1/access_token
  • Authentication: Basic Auth (Username = client_id, Password = client_secret)
  • Body: x-www-form-urlencoded com grant_type=client_credentials

A resposta conterá um campo access_token que deve ser passado para os próximos requests via expressão {{ $json.access_token }}.

Passo 6: Buscar posts no Reddit

Adicione outro nó HTTP Request para pesquisar no subreddit:

{
  "method": "GET",
  "url": "https://oauth.reddit.com/r/projectmanagement/search",
  "authentication": "genericCredentialType",
  "genericAuthType": "httpHeaderAuth",
  "parameters": {
    "q": "seuproduto OR bug OR alternativa",
    "sort": "new",
    "limit": 10,
    "restrict_sr": true
  },
  "headers": {
    "Authorization": "Bearer {{ $node['Reddit OAuth'].json.access_token }}"
  }
}

A resposta será um JSON com array data.children. Cada item contém data.title, data.permalink, data.selftext e data.author.

Passo 7: Coletar mensagens do Telegram

Close-up of a smartphone displaying popular social media apps on a floral fabric surface.

Adicione um nó Telegram com operação Get Updates. Configure o token do bot e defina limit para 50. O n8n retornará um array de mensagens. Filtre apenas aquelas com text não vazio e que contenham as palavras-chave usando um nó IF ou Function.

Passo 8: Consolidar e enviar resumo

Use um nó Merge para combinar os resultados do Reddit e do Telegram. Depois, adicione um nó Function para formatar a mensagem:

const redditPosts = $input.all().filter(item => item.json.source === 'reddit');
const telegramMessages = $input.all().filter(item => item.json.source === 'telegram');

let summary = `🔍 *Resumo de Monitoramento*\n\n`;

if (redditPosts.length > 0) {
  summary += `*Reddit - r/projectmanagement:*\n`;
  redditPosts.forEach(post => {
    summary += `• [${post.json.title}](https://reddit.com${post.json.permalink})\n`;
  });
  summary += `\n`;
}

if (telegramMessages.length > 0) {
  summary += `*Telegram - Ferramentas Ágeis:*\n`;
  telegramMessages.forEach(msg => {
    summary += `• ${msg.json.text.substring(0, 100)}...\n`;
  });
}

if (redditPosts.length === 0 && telegramMessages.length === 0) {
  summary += `Nenhuma menção encontrada no período.`;
}

return [{ json: { summary } }];

Finalize com um nó Telegram Send Message apontando para seu chat pessoal, com o campo text preenchido pela expressão {{ $json.summary }} e parse_mode como Markdown.

Dicas e Variações

  1. Use múltiplos subreddits: Crie um array de subreddits e itere sobre ele com um nó SplitInBatches para monitorar várias comunidades simultaneamente.
  2. Adicione filtro de sentimento: Integre com a API do Google Natural Language ou OpenAI para classificar menções como positivas, negativas ou neutras antes de notificar.
  3. Armazene histórico: Conecte um nó Postgres ou Google Sheets para registrar todas as menções e gerar relatórios semanais de tendências.
  4. Notificações por prioridade: Configure regras no nó IF para enviar alertas imediatos (via SMS ou push) apenas para menções com palavras como “crítico”, “urgente” ou “parou de funcionar”.
  5. Inclua análise de concorrência: Adicione nomes de concorrentes às palavras-chave para monitorar quando seu produto é comparado em threads.

Erros Comuns e Como Evitá-los

Erro 1: Rate limiting da API do Reddit
O Reddit limita requisições a 60 por minuto para OAuth. Se seu workflow falhar com HTTP 429, aumente o intervalo do Schedule Trigger para 3 horas ou reduza o limit para 5 posts por execução.

Erro 2: Token OAuth expirado
Tokens do Reddit expiram após 1 hora. Seu workflow deve renovar o token a cada execução. Não armazene o token como variável global; sempre faça o request de autenticação antes de cada busca.

Erro 3: Mensagens duplicadas do Telegram
O método getUpdates retorna mensagens não confirmadas. Para evitar duplicatas, use o parâmetro offset e armazene o update_id mais recente em uma variável de workflow. Na prática, configure o nó Telegram para usar offset: {{ $node['Telegram'].json.update_id + 1 }}.

Erro 4: Formatação incorreta no Telegram
O Telegram exige escape de caracteres especiais no Markdown. Substitua _, *, [ e ` por suas versões escapadas (\_, \*, etc.) no nó Function antes de enviar.

Próximos Passos

Agora que você tem um monitoramento funcional, expanda o sistema:

  • Adicione uma interface de dashboard: Conecte o workflow a um nó Webhook e crie um frontend simples que exiba o histórico de menções com gráficos de frequência.
  • Automatize respostas: Para menções positivas, configure uma resposta automática de agradecimento no Reddit (cuidado com as regras de spam).
  • Integre com CRM: Se uma menção contiver email ou nome de empresa, envie os dados para o HubSpot ou Salesforce via nó HTTP Request.
  • Teste com diferentes comunidades: Aplique o mesmo workflow para monitorar subreddits como r/SaaS, r/startups ou r/techsupport, ajustando as palavras-chave.

O workflow completo está disponível para download no repositório do blog. Copie o JSON de configuração, importe no seu n8n, ajuste as credenciais e comece a receber notificações em menos de 10 minutos. Se encontrar dificuldades, deixe um comentário no artigo que a equipe do rotinas.net responde em até 24 horas.

Gostou do conteúdo? Inscreva-se para receber as novidades:

CATEGORIES:

rotinas

Tags:

Comments are closed