Skip to content

Repository files navigation

🎮 Game Price Monitor Bot

Bot Inteligente do WhatsApp para Monitoramento de Preços de Jogos

Node.js WhatsApp License Status

JavaScript Baileys FFmpeg Maintenance

Monitore preços de jogos em múltiplas lojas e receba notificações automáticas no WhatsApp quando o preço atingir seu alvo!

Demo

📋 Sobre o Projeto

Bot automatizado do WhatsApp que monitora preços de jogos em tempo real através da API IsThereAnyDeal, oferecendo uma solução completa para quem quer economizar em suas compras de jogos e receber o alerta via Whatsapp.


🚀 Começando

📋 Pré-requisitos

Antes de começar, certifique-se de ter instalado:

📦 Instalação

1. Clone o repositório

git clone https://github.com/P3DROVFX/six-bot.git
cd six-bot

2. Instale as dependências

npm install

3. Instale o FFmpeg

Windows
# Usando Chocolatey (recomendado)
choco install ffmpeg

# Ou baixe manualmente em https://ffmpeg.org/download.html
Linux (Ubuntu/Debian)
sudo apt update && sudo apt install ffmpeg
macOS
# Usando Homebrew
brew install ffmpeg

4. Configure a API Key

  1. Crie uma conta gratuita em IsThereAnyDeal
  2. Gere sua API Key
  3. Abra src/config/constants.js e adicione sua chave:
const ITAD_API_KEY = 'sua-api-key-aqui'; // Substitua com sua chave

5. Inicie o bot

npm start

6. Conecte ao WhatsApp

  1. Um QR Code será exibido no terminal
  2. Abra o WhatsApp no seu celular
  3. Vá em Aparelhos Conectados > Conectar um Aparelho
  4. Escaneie o QR Code

Pronto! O bot está online e pronto para uso.


📱 Comandos

🎮 Monitoramento de Preços

Comando Descrição Exemplo
/buscar <nome> Busca jogos no banco de dados /buscar Cyberpunk 2077
/monitorar <link> <preço> Inicia monitoramento de um jogo /monitorar https://store.steampowered.com/app/1091500/ 150
/consultar Lista todos os jogos monitorados /consultar
/editar <link> <preço> Edita preço alvo de um jogo /editar https://store.steampowered.com/app/1091500/ 100
/remover <link> Remove jogo do monitoramento /remover https://store.steampowered.com/app/1091500/
/historico <link> Exibe gráfico de histórico de preços /historico https://store.steampowered.com/app/1091500/
/info <link> Informações detalhadas do jogo /info https://store.steampowered.com/app/1091500/
/stats Estatísticas do sistema /stats

🎨 Stickers

Comando Descrição Como Usar
/sticker ou /s Cria sticker de imagem/vídeo Responda uma imagem/vídeo com o comando
/figurinha Alias para /sticker Mesmo uso do /sticker
/toimg ou /desticker Converte sticker em imagem PNG Responda um sticker com o comando

ℹ️ Informações

Comando Descrição
/help ou /ajuda Menu completo com todos os comandos
/owner ou /contato Informações do desenvolvedor

🔧 Admin (Apenas Proprietário)

Comando Descrição
/addglobal <ids> Adiciona jogos ao monitoramento global
/updateprices Força atualização de todos os preços

💡 Exemplos de Uso

📊 Monitorando um Jogo

Clique para ver o exemplo completo
👤 Você: /monitorar https://store.steampowered.com/app/1091500/ 150

🤖 Bot: 🎮 Seleção de Loja
        
        Qual(is) loja(s) você gostaria de monitorar?
        
        1 - Apenas Steam
        2 - Apenas Epic Games
        3 - Apenas Microsoft Store
        4 - Todas as lojas
        
        Digite o número correspondente:

👤 Você: 4

🤖 Bot: ✅ Jogo monitorado com sucesso!
        
        🎮 Nome: Cyberpunk 2077
        🛒 Lojas: Steam, Epic Games e Microsoft Store
        🎯 Preço alvo: R$ 150.00
        📊 Histórico sendo atualizado...

📈 Consultando Histórico de Preços

Clique para ver o exemplo
👤 Você: /historico https://store.steampowered.com/app/1091500/

🤖 Bot: [Envia gráfico interativo]
        
        📊 Histórico de Preços - Cyberpunk 2077
        
        📅 Período: 01/01/2025 - 01/11/2025
        📈 Total de registros: 45
        
        💰 Preço mínimo: R$ 69.96
        💸 Preço máximo: R$ 249.00
        🔄 Preço atual: R$ 149.00
        📉 Variação: -25.1% (redução)

🎨 Criando um Sticker

Clique para ver o exemplo
👤 Você: [Envia uma imagem ou vídeo]

👤 Você: /sticker

🤖 Bot: [Processa e envia o sticker pronto]

🔍 Buscando Jogos

Clique para ver o exemplo
👤 Você: /buscar Red Dead Redemption

🤖 Bot: 🔍 Resultados da busca:
        
        1. Red Dead Redemption 2
           🔗 https://store.steampowered.com/app/1174180/
           💰 R$ 249.00
           
        2. Red Dead Online
           🔗 https://store.steampowered.com/app/1404210/
           💰 R$ 19.99

🗂️ Arquivos de Dados

Arquivo Descrição
history.json Armazena informações e histórico de preços de todos os jogos
monitored_games.json Lista de jogos monitorados por cada usuário/grupo
baileys_auth_info/ Sessão do WhatsApp (não compartilhar!)

🔍 Sistema de Logging

O bot implementa um sistema de logging estruturado e colorido para facilitar debugging e monitoramento.

📊 Categorias de Log

Categoria Cor Uso
DEBUG 🔵 Cyan Informações detalhadas de debugging
INFO 🔷 Blue Informações gerais do sistema
SUCCESS 🟢 Green Operações concluídas com sucesso
WARNING 🟡 Yellow Avisos que não impedem execução
ERROR 🔴 Red Erros que requerem atenção
API 🟣 Magenta Requisições à API externa
CACHE 🔆 Bright Cyan Operações de cache (hit/miss)
DATABASE ✨ Bright Magenta Leitura/escrita de arquivos
USER 💚 Bright Green Ações realizadas por usuários
BOT 💙 Bright Blue Eventos internos do bot
PRICE 💛 Bright Yellow Operações relacionadas a preços

📝 Exemplo de Logs

[2025-11-01T15:30:45.123Z][CACHE][ITAD_LOOKUP] Cache hit - Game ID found
[DATA] { "gameId": "1091500", "itadId": "018d937f-2997-7131-b8b9" }

[2025-11-01T15:30:46.234Z][PRICE][PRICE_CHECK] Price found for game 1091500 (Steam)
[DATA] { "price": "R$149.00", "currency": "BRL" }

[2025-11-01T15:30:47.345Z][SUCCESS][NOTIFICATION] Steam promotion sent to user
[DATA] { "game": "Cyberpunk 2077", "targetPrice": "R$150.00", "currentPrice": "R$149.00" }

⚙️ Configuração Avançada

🔧 Variáveis de Ambiente

Você pode personalizar o comportamento do bot editando src/config/constants.js:

// Moeda para exibição de preços
const CURRENCY = 'BRL';  // USD, EUR, etc.

// Intervalos de atualização (em milissegundos)
const UPDATE_INTERVAL = 7200000;         // 2 horas
const NOTIFICATIONS_INTERVAL = 10800000; // 3 horas

// Rate limiting (delays entre requisições)
const DEFAULT_DELAY_MS = 1000;  // 1 segundo
const BULK_DELAY_MS = 250;      // 250ms para operações em lote

// Informações do proprietário
const OWNER_INFO = {
    name: "Seu Nome",
    whatsapp: "5511999999999",
    email: "seu@email.com"
};

🎯 Personalização

Alterar mensagens do bot:

  • Edite os textos de resposta em src/handlers/commandHandler.js

Modificar logo:

  • Substitua src/assets/logo_six.jpg com sua própria imagem

Ajustar limites de stickers:

  • Configure em src/utils/stickerMaker.js (duração máxima, qualidade, etc.)

🛠️ Tecnologias

Stack Principal

Tecnologia Versão Descrição
Node.js 16+ Runtime JavaScript
Baileys 6.7.18 WhatsApp Web API (multi-device)
Axios 1.8.3 Cliente HTTP para requisições
FFmpeg Latest Processamento de mídia (stickers)
QuickChart 3.1.3 Geração de gráficos

APIs Externas

  • IsThereAnyDeal API - Dados de preços de jogos
  • Steam, Epic Games, Microsoft Store - Informações de lojas

🐛 Solução de Problemas

❌ Bot não conecta ao WhatsApp

Sintomas:

  • QR Code não aparece
  • Conexão não estabelece
  • Erro de autenticação

Soluções:

# 1. Remova os dados de autenticação antigos
rm -rf baileys_auth_info/  # Linux/Mac
rmdir /s baileys_auth_info  # Windows

# 2. Reinicie o bot
npm start

# 3. Escaneie o novo QR Code

📜 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

MIT License

Copyright (c) 2025 P3DROVFX

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software...

👨‍💻 Autor

Pedro

WhatsApp Email GitHub


📊 Status do Projeto

Status Version Last Update

About

Whatsapp bot for monitoring steam, epic games and microsoft game prices

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages