Telegram Bot para Alertas de Value Bets:
Tutorial passo a passo pra construir um bot de Telegram que monitora odds, detecta value bets e envia alertas formatados direto no seu celular. Node.js + TypeScript +
Carregando
Tutorial passo a passo pra construir um bot de Telegram que monitora odds, detecta value bets e envia alertas formatados direto no seu celular. Node.js + TypeScript +
Telegram Bot para Alertas de Value Bets:. Tutorial passo a passo pra construir um bot de Telegram que monitora odds, detecta value bets e envia alertas formatados direto no seu celular. Node.js + TypeScript + The Odds API.
Dashboard interativo para visualizar odds e arbitragens em tempo real
Critério de Kelly, flat betting e gestão de banca com código Python
Galera, a ideia é simples mas poderosa: em vez de ficar abrindo 10 abas de casas de apostas comparando odds manualmente, você deixa um bot fazendo isso pra você. Quando ele encontra uma discrepância relevante — uma odd que está acima do valor justo — ele manda uma mensagem no Telegram. Você lê, decide e executa. A parte chata fica com a máquina.
O bot tem quatro funcionalidades: monitoramento contínuo de odds via The Odds API, detecção de value bets usando a Pinnacle como benchmark, alerta formatado via Telegram com todas as informações necessárias, e comandos interativos pra configurar ligas, threshold de edge e parar/iniciar o monitoramento.
Por que Node.js e não Python? Porque o Telegram Bot API funciona muito bem com Node.js. As bibliotecas são maduras, a tipagem com TypeScript ajuda muito num projeto com vários tipos de dados, e se você já sabe React (veja o artigo do dashboard), o backend em Node.js faz o ecossistema inteiro ficar JavaScript. Um skill que serve pra tudo.
O projeto final tem cerca de 300 linhas de código. Dá pra construir em uma tarde e deployar de graça no Railway. Vamos lá.
Usamos Telegraf como framework pro bot — é o mais popular e bem documentado pra Telegram bots em Node.js. Axios pra chamadas HTTP, dotenv pra variáveis de ambiente, e node-cron pra agendar o polling de odds. TypeScript porque dados de odds são cheios de campos opcionais e tipos aninhados — sem tipagem, é bug garantido.
A The Odds API retorna odds de dezenas de casas num formato JSON limpo. O endpoint principal é /sports/{sport}/odds com parâmetros pra filtrar região, mercado e formato de odds. Vamos criar um service que abstrai toda essa comunicação.
O rate limit da The Odds API é generoso no plano pago, mas no plano gratuito você tem 500 requests por mês. Se pollar 3 esportes a cada 5 minutos, são 864 requests por dia — vai precisar do plano pago. Pra fase de desenvolvimento, reduza pra 2 esportes e poll a cada 15 minutos.
A lógica de detecção é o coração do bot. A ideia: pegar as odds da Pinnacle como referência de mercado eficiente, comparar com as odds de cada outra casa, e alertar quando uma casa oferece odds significativamente maiores que a Pinnacle pro mesmo resultado.
Por que a Pinnacle como referência? Porque ela aceita apostadores sharp e usa o dinheiro deles como sinal. As odds da Pinnacle são as mais próximas da probabilidade justa que existe no mercado. Se outra casa está oferecendo uma odd 5% acima da Pinnacle, ou ela está errada, ou a Pinnacle está errada. Na maioria das vezes, quem está errada é a outra casa.
O threshold de 3% é conservador. Abaixo disso, a diferença pode ser só variação normal de mercado ou atraso de atualização de odds. Acima de 3%, a chance de ser um value bet real é maior. Conforme você coleta dados e valida os alertas, pode ajustar esse número. Alguns apostadores sérios usam 5% como threshold — menos alertas, mas maior confiança em cada um.
Agora vamos juntar tudo: API de odds, detector de value bets, formatação de mensagens e scheduling via cron. O bot também responde a comandos: /status mostra se está rodando, /scan força uma busca imediata, e /config mostra as configurações atuais.
O Railway é a opção mais simples pra deployar um bot que precisa rodar continuamente. Diferente da Vercel que é serverless e mata o processo depois de X segundos, o Railway mantém seu processo Node.js rodando 24/7. O plano hobby dá uns $5 de crédito por mês — mais que suficiente pra um bot leve como esse.
Alternativas ao Railway: Render.com (plano gratuito com cold starts), Fly.io (bom pra containers leves), ou um VPS simples na Hetzner por 3 euros/mês com PM2 pra process management. Se você já tem um VPS rodando o dashboard, coloca o bot no mesmo servidor — é só mais um processo.
Deploy simples com integração GitHub. Ideal pra bots e processos que rodam continuamente.
As variáveis sensíveis ficam no .env e nunca vão pro repositório. Crie um arquivo .env na raiz com TELEGRAM_TOKEN, TELEGRAM_CHAT_ID e ODDS_API_KEY. Adicione .env no .gitignore antes de qualquer commit.
O bot roda com tsx src/bot.ts em desenvolvimento. Pra produção, compile com tsc e rode com node dist/bot.js. O node-cron agenda o scan a cada 5 minutos e o Telegraf cuida da comunicação com o Telegram.
Controle total. PM2 gerencia o processo, reinicia em caso de crash e gera logs.
Esse bot é uma peça do sistema. Pra ter o máximo de valor, conecte com os modelos estatísticos (artigo de Poisson/ELO/xG) pra calcular probabilidades próprias em vez de usar só a Pinnacle como referência, use o Critério de Kelly pra incluir o stake sugerido em cada alerta, e visualize o histórico de alertas no dashboard de React. A CrazyStack ensina Node.js e TypeScript do zero ao deploy em produção — exatamente o que você precisa pra construir isso.