Skip to content

gabrielanacletoo455/botwhats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WhatsApp Bot - Gabriel Store

Bot de WhatsApp para gerenciar produtos e atendimento da loja Gabriel.

🏗️ Estrutura do Projeto

src/
├── config/           # Configurações centralizadas
│   ├── index.ts      # Configuração principal e variáveis de ambiente
│   ├── openai.ts     # Configurações do OpenAI/GPT
│   └── database.ts   # Configuração do banco de dados
├── services/         # Serviços de integração
│   ├── gptService.ts      # Integração com OpenAI GPT
│   └── whatsappService.ts # Integração com WhatsApp
├── handlers/         # Manipuladores de mensagens
│   ├── messageHandler.ts  # Comandos básicos
│   ├── groupHandler.ts    # Mensagens de grupo
│   └── privateHandler.ts  # Mensagens privadas
├── utils/            # Utilitários e helpers
│   ├── productValidator.ts # Validação de produtos
│   └── fileHelper.ts      # Manipulação de arquivos
└── server.ts         # Servidor principal

🔧 Configuração

Variáveis de Ambiente

Crie um arquivo .env na raiz do projeto:

# Configurações do Servidor
PORT=3000

# OpenAI Configuration
OPENAI_API_KEY=sua_chave_da_openai_aqui

# WhatsApp Bot Configuration
OBSERVATION_GROUP_ID=120363402790676801@g.us
AUTH_PATH=./auth
UPLOAD_DIR=uploads

# Database Configuration
DATABASE_URL=file:./dev.db

# Environment
NODE_ENV=development

Instalação

npm install

Executar

npm run dev

📁 Explicação da Estrutura

📂 Config

  • Técnica: Centraliza todas as configurações em um local
  • Simples: Mudanças de configuração ficam isoladas, fáceis de encontrar

📂 Services

  • Técnica: Camada de serviços para APIs externas e integrações
  • Simples: Cada serviço cuida de uma coisa só (WhatsApp, GPT, etc.)

📂 Handlers

  • Técnica: Padrão de roteamento por tipo de mensagem
  • Simples: Cada handler cuida de um tipo específico de conversa

📂 Utils

  • Técnica: Funções puras e reutilizáveis
  • Simples: Helpers que podem ser usados em qualquer lugar

🚀 Funcionalidades

Bot de WhatsApp

  • ✅ Conexão automática com QR Code
  • ✅ Reconexão automática em caso de queda
  • ✅ Observação de grupo específico para produtos

Gestão de Produtos

  • ✅ Validação automática de dados de produtos
  • ✅ Download e armazenamento de imagens
  • ✅ Salvamento no banco de dados
  • ✅ Feedback detalhado de erros

Atendimento com IA

  • ✅ Integração com OpenAI GPT
  • ✅ Respostas contextualizadas sobre a loja
  • ✅ Consulta de produtos com imagens
  • ✅ Comandos básicos (horário, ajuda, etc.)

📊 Melhorias da Refatoração

Antes

  • Código concentrado em poucos arquivos
  • Lógica misturada (config + negócio + handlers)
  • Difícil manutenção e teste
  • Imports confusos

Depois

  • Separação clara de responsabilidades
  • Configurações centralizadas
  • Fácil localização de bugs
  • Código mais testável
  • Estrutura escalável

🔍 Como Usar

Adicionar Produto (Grupo)

Envie uma imagem junto com o texto no formato:

Título: iPhone 16
Cor: branco
Memória: 256gb
Preço: 1500
Carregador: sim
CaboCarregador: sim
Bateria: 90%

Consultar Produtos (Privado)

Envie mensagens como:

  • "Quais produtos vocês têm?"
  • "Tem iPhone disponível?"
  • "Produtos em estoque"

Comandos Básicos

  • oi - Saudação
  • ajuda - Lista de comandos
  • horário - Horário de funcionamento # botwhats

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors