🤖 TLGrupos

Sistema Completo de Gerenciamento de Grupos Telegram

Automatize pagamentos, controle acessos e gerencie membros com facilidade

⚡ Recursos Principais

🔄

Automação Completa

Envio automático de links, notificações de vencimento e remoção de membros vencidos.

Configurar
💰

Gestão de Pagamentos

Gerenciamento completo: Validar, Planos e Histórico em abas organizadas.

Gerenciar
👥

Controle de Membros

Cadastro em 3 abas: Todos Membros, Novo Membro e Cadastro Público.

Gerenciar Membros

🚀 Instalação e Deploy na VPS

📋 Pré-requisitos

  • VPS com acesso SSH (Ubuntu 20.04+ recomendado)
  • Node.js 18+ instalado
  • Git configurado
  • Conta Supabase (banco de dados)
  • Bot do Telegram criado (@BotFather)
1

Clonar o Repositório

# Conectar na VPS
ssh seu-usuario@seu-ip

# Criar diretório e clonar o projeto
sudo mkdir -p /var/www
cd /var/www
sudo git clone https://github.com/inematds/TLGrupos.git
cd TLGrupos
2

Configurar Variáveis de Ambiente

Crie o arquivo .env.local com:

# Supabase
NEXT_PUBLIC_SUPABASE_URL=https://seu-projeto.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=sua-chave-anonima
SUPABASE_SERVICE_ROLE_KEY=sua-chave-service-role

# Telegram
TELEGRAM_BOT_TOKEN=seu-token-do-bot
TELEGRAM_GROUP_ID=-1002242190548,-1002466217981

# Email (Resend)
RESEND_API_KEY=sua-chave-resend

# URLs
NEXT_PUBLIC_APP_URL=http://seu-ip-vps
3

Instalar PM2 (Gerenciador de Processos)

npm install -g pm2

PM2 mantém o sistema rodando 24/7 e reinicia automaticamente em caso de erros.

4

Startar o Sistema em Produção

# Dar permissão de execução
chmod +x prod-start.sh

# Iniciar tudo (Dashboard + Bot)
./prod-start.sh

O script irá: Instalar dependências → Fazer build → Iniciar com PM2 → Salvar configuração

5

Verificar se está Rodando

# Ver processos ativos
pm2 status

# Ver logs em tempo real
pm2 logs

# Acessar no navegador
http://seu-ip-vps
6

Configurar Auto-Start no Boot

pm2 startup
pm2 save

Isso garante que o sistema reinicie automaticamente se a VPS reiniciar.

🛠️ Comandos Úteis

Gerenciamento:

./prod-restart.sh./prod-stop.sh./prod-status.sh

PM2:

pm2 logspm2 monitpm2 restart all

🔄 Como Atualizar o Sistema

Sempre que houver atualizações no GitHub:

cd /var/www/TLGrupos
git pull origin main
npm install
./prod-restart.sh

Guia Rápido de Uso

1Cadastrar um Novo Membro

Cadastre membros manualmente ou deixe que se auto-cadastrem via Telegram:

💡 Dica: Configure auto-cadastro em Configurações → Bot

2Configurar Planos e Pagamentos

Crie planos de acesso e configure formas de pagamento:

  • Pagamentos → Planos - Configure valores e duração (30, 60, 90 dias)
  • Chave PIX Global - Configure em Configurações → Pagamento
  • Formas de pagamento integradas no sistema de validação

3Aprovar Pagamentos e Enviar Acessos

Quando um membro efetuar o pagamento:

  1. Vá em Pagamentos → Validar
  2. Visualize o comprovante PIX enviado
  3. Clique em ✅ Aprovar
  4. Automático: Sistema gera link e envia por Email + Telegram!

🎉 Importante: Tudo é automático! O membro recebe o link de acesso instantaneamente.

4Configurar Notificações Automáticas

Configure avisos de vencimento em Configurações → Notificações:

  • 3 avisos configuráveis - Ex: 5, 7 e 30 dias antes
  • Canais: Telegram e/ou Email
  • Mensagem customizável com variáveis {nome} e {dias}
  • Remoção automática de membros vencidos

5Monitorar no Dashboard

Acompanhe tudo em tempo real no Dashboard:

  • 📊 Estatísticas de membros (ativos, vencidos, vencendo)
  • 💰 Receita total e do mês
  • ⚠️ Alertas de membros que precisam de atenção
  • 📈 Métricas de pagamentos pendentes e aprovados

🗂️ Navegação do Sistema

💡 Dicas e Perguntas Frequentes

Como configurar o envio de emails?

Vá em Configurações → Email e escolha um provedor (Gmail, Resend ou SendGrid). Para Gmail, você precisa gerar uma Senha de App (não use a senha normal!).

Como ativar o bot do Telegram?

Configure em Configurações → Bot. Você pode ativar 3 modos: auto-cadastro ao entrar, ao enviar mensagem, ou via comando /registrar.

Como funciona a remoção automática?

Configure em Configurações → Bot. Escolha o horário (ex: 03:00) e o sistema remove automaticamente membros vencidos dos grupos diariamente.

Como enviar avisos de vencimento?

Em Configurações → Notificações, ative até 3 avisos (ex: 5, 7, 30 dias antes). Personalize a mensagem e escolha os canais (Telegram/Email).

⚙️ Processos Automáticos (Cron Jobs)

O sistema executa processos periódicos automaticamente. Configure-os usando serviços como cron-job.org ou EasyCron (gratuitos).

Validação de Links de Convite

Verifica pagamentos aprovados que não receberam link de convite e tenta gerar novamente, enviando notificações por email e Telegram.

Frequência:A cada 15 minutos
Endpoint:POST /api/cron/process-approved-payments

Notificações de Vencimento

Envia avisos para membros que estão próximos do vencimento (configurável em 3 períodos: ex. 5, 7 e 30 dias).

Frequência:1x por dia (ex: 08:00)
Endpoint:POST /api/cron/send-notifications

Remoção de Membros Expirados

Remove automaticamente membros com acesso vencido dos grupos do Telegram (horário configurável).

Frequência:1x por dia (ex: 03:00)
Endpoint:POST /api/cron/remove-expired

Verificação de Expirações

Atualiza status de membros que venceram, marcando-os como "expirado" no banco de dados.

Frequência:A cada 1 hora
Endpoint:POST /api/cron/check-expirations

Como Configurar os Cron Jobs

Use serviços gratuitos como cron-job.org ou EasyCron:

  1. 1Crie uma conta em cron-job.org
  2. 2Adicione cada endpoint acima como um novo cron job
  3. 3Configure a frequência recomendada para cada um
  4. 4Use método POST e adicione o header Authorization: Bearer SEU_CRON_SECRET

📚 Documentação Completa

Quer saber mais detalhes sobre o sistema de notificações, cron jobs e configurações avançadas?

Ver Documentação Técnica