🤖 Criando um Chatbot no WhatsApp com Node.js + DeepSeek
- #Node.js
- #Node Package Manager (NPM)
- #Inteligência Artificial (IA)
🤖 Criando um Chatbot no WhatsApp com Node.js + DeepSeek
Se você sempre quis criar um chatbot inteligente para WhatsApp, mas achava um bicho de sete cabeças?
Nesse tutorial vou simplificar para você e te mostrar que é mais simples do que você imagina criar um chatbot com I.A, chega mais...
✅ O que você vai aprender
Esse projeto vai te ajudar a praticar habilidades essenciais para qualquer desenvolvedor iniciante:
Habilidades praticadas:
- Node.js – Criar um projeto backend básico em JavaScript
- APIs HTTP (axios) – Comunicar-se com serviços externos
- whatsapp-web.js – Automatizar o WhatsApp Web com código
- Eventos assíncronos (async/await) – Lidar com chamadas não bloqueantes
- Variáveis de ambiente (.env) – Guardar chaves de forma segura
- Organização de projeto – Separar responsabilidades em arquivos distintos
📁 Estrutura do projeto
Organizamos nosso projeto da seguinte forma:
meu-chatbot/
├── bot/
│ └── whatsappBot.js # Tudo sobre o WhatsApp
├── services/
│ └── deepseek.js # Comunicação com a IA
├── .env # Variáveis de ambiente (chave da DeepSeek)
├── index.js # Ponto inicial da aplicação
├── package.json
🔧 Passo 1: Configurando o ambiente
- Instale o Node.js (se ainda não tiver).
- No terminal, crie e configure seu projeto:
mkdir meu-chatbot
cd meu-chatbot
npm init -y
npm install whatsapp-web.js axios qrcode-terminal dotenv
- Crie os arquivos e pastas:
mkdir bot services
touch index.js bot/whatsappBot.js services/deepseek.js .env
📚 Passo 2: Criando o arquivo index.js
Esse é o ponto de entrada da aplicação. Aqui, apenas carregamos e iniciamos o bot.
require('dotenv').config();
const { initWhatsAppBot } = require('./bot/whatsappBot');
console.clear();
console.log('🚀 Iniciando chatbot...\n');
initWhatsAppBot();
🕹️ Passo 3: O arquivo bot/whatsappBot.js
Aqui vamos usar o pacote whatsapp-web.js
para iniciar o bot e controlar as mensagens.
const { Client, LocalAuth } = require('whatsapp-web.js');
const qrcode = require('qrcode-terminal');
const { getDeepSeekResponse } = require('../services/deepseek');
function initWhatsAppBot() {
const client = new Client({
authStrategy: new LocalAuth(),
puppeteer: { headless: true }
});
client.on('qr', (qr) => {
console.log('📱 Escaneie o QR Code com seu WhatsApp:');
qrcode.generate(qr, { small: true });
});
client.on('ready', () => {
console.log('✅ Bot conectado e pronto para uso!');
});
client.on('message', async (msg) => {
if (msg.fromMe || !msg.body) return;
if (msg.body.startsWith('!barbeiro')) {
const pergunta = msg.body.replace('!barbeiro', '').trim();
const resposta = await getDeepSeekResponse(pergunta);
await msg.reply(resposta);
}
});
client.initialize();
}
module.exports = { initWhatsAppBot };
🤖 Passo 4: O arquivo services/deepseek.js
Essa é a parte que se comunica com a IA da DeepSeek. É um serviço simples, reutilizável.
const axios = require('axios');
const DEEPSEEK_API_URL = 'https://api.deepseek.com/v1/chat/completions';
async function getDeepSeekResponse(prompt) {
try {
const response = await axios.post(
DEEPSEEK_API_URL,
{
model: 'deepseek-chat',
messages: [
{
role: 'system',
content: 'Você é um atendente simpático de uma barbearia. Sempre fale em português com um tom descontraído.'
},
{ role: 'user', content: prompt }
]
},
{
headers: {
Authorization: `Bearer ${process.env.DEEPSEEK_API_KEY}`,
'Content-Type': 'application/json'
}
}
);
return response.data.choices[0].message.content;
} catch (error) {
console.error('Erro ao consultar DeepSeek:', error.response?.data || error.message);
return '😕 Tive um problema ao tentar responder. Tente novamente!';
}
}
module.exports = { getDeepSeekResponse };
🛡️ Passo 5: Variáveis no .env
Coloque sua chave da API da DeepSeek aqui:
DEEPSEEK_API_KEY=sua_chave_aqui
⚠️ Nunca compartilhe esse arquivo ou suba ele para o GitHub!
▶️ Rodando o projeto
No terminal:
node index.js
Escaneie o QR Code com o WhatsApp Web, envie uma mensagem com:
!barbeiro quero cortar o cabelo amanhã às 14h
E veja o atendente virtual responder com estilo 😎
🎓 Conclusão
E com esse nosso projeto, você não apenas criou um chatbot funcional, como também aprendeu:
- A usar pacotes do Node.js
- Como organizar um projeto em arquivos
- Como usar variáveis de ambiente
- Como consumir APIs modernas com
axios
- Como criar um bot real que interage com humanos via WhatsApp
Bem simples não acha? agora é só subir esse projetinho no github e partir para o próximo 😎
Repositório do Github: https://github.com/felipecacezi/chatBotWhatsapp