Galactic-Cat é um chatbot open-source desenvolvido em Node.js para integrar com o WhatsApp. Ele utiliza a API @whiskeysockets/baileys para gerenciar conexões, envio e recebimento de mensagens, e inclui funcionalidades avançadas como:
- Envio de mensagens automáticas e personalizadas.
- Conversão de mídias para stickers com metadados customizados (vide
createSticker
). - Integração com modelos de Inteligência Artificial, como o Gemini AI.
-
Envio Automático e Interativo:
Responde automaticamente às mensagens com base nos comandos processados embotController.js
. -
Geração de Stickers:
Converte imagens e vídeos em stickers WebP, aplicando metadados EXIF customizados. Veja como a funçãocreateSticker
opera. -
Integração com WhatsApp:
Gerencia a conexão, autenticação e reconexão através doconnection.js
e utiliza a biblioteca Baileys para comunicação robusta. -
Gerenciamento de Mídias e Mensagens:
Processa e formata mensagens usando funções auxiliares emmessageController.js
efunctions.js
. -
Métricas e Logs:
Registra métricas de performance (uptime, uso de memória) e eventos de conexão em arquivos de log (logs/connection.log).
- Node.js: Plataforma para execução do JavaScript.
- @whiskeysockets/baileys: API para integração com WhatsApp.
- SQLite: Banco de dados leve para armazenamento de interações.
- FFmpeg & Webpmux: Utilizados na conversão de mídia para stickers.
- Outros: Módulos internos de utilitários e configuração.
-
Configuração e Documentação
- .env – Variáveis de ambiente seguras.
- .gitignore – Arquivos e pastas ignoradas pelo Git.
- LICENSE – Termos da licença MIT.
- README.md – Documentação deste projeto.
-
Código-Fonte (
src/
)- auth/
- connection.js – Gerencia a conexão e reconexão com o WhatsApp.
- data/ – Dados de configuração e autenticação (ex.: options.json).
- temp/ – Armazena arquivos temporários de autenticação.
- config/
- options.json – Parâmetros de configuração do bot.
- controllers/
- botController.js – Processa comandos e gerencia respostas (inclusive com integração ao Gemini AI).
- messageController.js – Formata e exibe mensagens no console.
- modules/
- gemini/ – Integração com modelo de IA para respostas inteligentes (index.js).
- sticker/ – Conversão de mídia em stickers e gerenciamento dos metadados EXIF (sticker.js).
- temp/ – Armazena arquivos temporários do processamento.
- utils/
- functions.js – Funções auxiliares (ex.: manipulação de arquivos, requisições HTTP).
- auth/
-
Arquivo Principal
- start.js – Ponto de entrada da aplicação, responsável por iniciar o bot.
Siga os passos abaixo para configurar e iniciar o bot:
-
Clone o repositório:
git clone https://github.com/Kaikygr/galactic-cat.git cd galactic-cat
-
Instale as dependências:
npm install
-
Configuração do Ambiente:
- Crie um arquivo
.env
com as variáveis necessárias para a autenticação e demais integrações. - Ajuste os dados de autenticação em src/auth/data/options.json e os parâmetros do bot em src/config/options.json.
- Crie um arquivo
-
Inicie o Bot:
npm start
O bot irá iniciar o processo de conexão (gerenciado por connection.js) e exibirá um QR Code no terminal para emparelhamento caso ainda não esteja registrado.
Contribuições para melhorias, correções e novas funcionalidades são bem-vindas!
- Crie uma branch para sua feature ou correção.
- Envie um Pull Request com suas alterações.
Este projeto é licenciado sob a MIT License.
- Kaikygr
GitHub: Kaikygr