Como Instalar e Rodar um Bot com WhatsApp Web.js

Como Instalar e Rodar um Bot com WhatsApp Web.js

Categoria: Tecnologia

Data de publicação: 2025-04-05T14:11

Se você quer criar um bot para WhatsApp usando Node.js, o pacote whatsapp-web.js é uma das soluções mais simples e eficazes. Neste tutorial, você vai aprender a instalar e rodar seu primeiro bot com poucos comandos.


1. Criando o projeto

Abra o terminal e crie uma pasta para seu bot:

bash

mkdir meu-bot-whatsapp
cd meu-bot-whatsapp

2. Verifique se o Node.js está instalado

Execute os comandos abaixo para verificar se você já possui o Node e o npm:

bash

node -v
npm -v

Se ambos retornarem versões, você está pronto!

Caso contrário, siga os próximos passos para instalar o Node.js.

3. Instalando o Node.js + npm

Opção 1: Instalar via site oficial

  • Acesse: https://nodejs.org
  • Baixe a versão LTS (recomendada)
  • Siga o assistente de instalação (o npm será instalado junto)

Opção 2: Instalar via terminal (Ubuntu/Linux)

bash
CopyEdit
sudo apt update && sudo apt upgrade
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs

Verifique se está tudo certo:

bash
CopyEdit
node -v
npm -v

Atualize o npm (opcional):

bash
CopyEdit
npm install -g npm

4. Inicializando o projeto

Dentro da pasta do seu projeto, rode:

bash
CopyEdit
npm init -y

5. Instalando as dependências

Instale os pacotes necessários para interagir com o WhatsApp e exibir QR codes no terminal:

bash
CopyEdit
npm install whatsapp-web.js qrcode-terminal

6. Criando o arquivo principal

Crie o arquivo index.js:

bash
CopyEdit
touch index.js     # Linux/macOS
notepad index.js   # Windows

Cole o seguinte código:

js
CopyEdit
const { Client } = require('whatsapp-web.js');
const qrcode = require('qrcode-terminal');

const client = new Client();

client.on('qr', (qr) => {
    qrcode.generate(qr, { small: true });
});

client.on('ready', () => {
    console.log('✅ Cliente está pronto!');
});

client.on('message', message => {
    console.log(`📩 Mensagem de ${message.from}: ${message.body}`);
    
    if (message.body === 'ping') {
        message.reply('pong 🏓');
    }
});

client.initialize();

7. Rodando o bot

Execute o bot com:

bash
CopyEdit
node index.js

Um QR Code será exibido no terminal.

Abra o WhatsApp > Dispositivos conectados > Conectar novo dispositivo

Escaneie o QR code e pronto!

Testando

Envie a mensagem ping para o número conectado.

Você deve receber como resposta:

nginx
CopyEdit
pong 🏓

Dicas finais

  • O login fica salvo na pasta .wwebjs_auth por padrão.
  • Se seu notebook entrar em modo de descanso ou for desligado, o bot desconectará.
  • Para rodar em produção 24h, use um servidor dedicado como VPS, Heroku, Railway, ou Render.


Você pode deixar seu próprio notebook como servidor dedicado, mas há algumas considerações importantes que você precisa entender antes de fazer isso de forma confiável. Vamos por partes:


Vantagens de usar o próprio notebook como servidor:

  • Custo zero: você não paga por hospedagem.
  • Controle total sobre o ambiente do servidor.
  • Ideal para testes locais, desenvolvimento e pequenos projetos pessoais.

Mas... atenção aos riscos e limitações:

  1. Ele precisa ficar ligado 24h por dia
  • Qualquer desligamento, reinício ou modo de espera vai derrubar o bot.
  • O WhatsApp Web vai desconectar se a sessão cair.
  1. Problemas com IP dinâmico
  • A maioria das conexões residenciais tem IP dinâmico, que muda com o tempo.
  • Isso dificulta acesso remoto ou reconexão do bot.
  1. Segurança
  • Você estará expondo sua máquina à internet.
  • Se não configurar corretamente (ex: firewall, portas, permissões), pode abrir brechas para ataques.
  1. Internet instável
  • Qualquer oscilação ou queda da conexão afeta o funcionamento do bot.

Melhor alternativa: usar um VPS ou plataforma gratuita

Se o objetivo é rodar o bot 24h por dia, você pode considerar:

  • Railway.app (tem plano gratuito com horas limitadas por mês)
  • Render.com
  • Heroku (apesar de estar mudando as políticas de planos gratuitos)
  • VPS baratos, como:
  • Contabo
  • Hostinger VPS (já que você usa Hostinger)
  • DigitalOcean
  • Oracle Free Tier (tem opção gratuita limitada)

Dica extra

Você pode usar seu notebook temporariamente como servidor enquanto testa o bot. Se tudo estiver funcionando bem e você quiser algo mais robusto, aí sim migra para um ambiente de produção (como um VPS).