Assistente para o WhatsApp, feita com TypeScript e whatsapp-web.js.
A AdaBot é uma assistente para WhatsApp, agora reescrita em TypeScript, utilizando conceitos de Factory Design Pattern, modularização, melhorias de performance e organização de código. O resultado? Um bot mais rápido, estável e preparado para escalar.
Para o usuário final, a experiência permanece inalterada. No entanto, internamente, o código foi aprimorado com boas práticas de desenvolvimento de software, garantindo maior eficiência, escalabilidade e organização.
# clone o repositório
git clone https://github.com/PedroMarques391/whatsbot
# entre no projeto
cd whatsbot# Com Yarn
yarn
# Ou com NPM
npm i
# Inicie o projeto em modo de desenvolvimento
# Usando ts-node com respawn
yarn run dev
# Ou com NPM
npm run dev| Variável | Descrição | Exemplo |
|---|---|---|
CLIENT_NUMBER |
Número do WhatsApp usado pelo bot | "[email protected]" |
EXECUTABLE_PATH |
Caminho para o Chrome usado pelo Puppeteer | "/usr/bin/google-chrome-stable" |
GOOGLE_SEARCH_API_KEY |
Chave da API do Google | "sua_chave_da_api" |
GOOGLE_SEARCH_API_CTX_GENERAL |
ID do mecanismo de busca para pesquisas gerais | "seu_search_engine_id" |
GOOGLE_SEARCH_API_CTX_IMAGES |
ID do mecanismo de busca para imagens | "seu_search_engine_id_para_imagens" |
GROUPS_IDS |
IDs dos grupos em que o bot atua | "[email protected],[email protected]" |
BOT_INSTRUCTIONS (opcional) |
Instruções extras enviadas ao modelo Gemini IA | "instrucoes_para_gemini" |
| Comando | Descrição |
|---|---|
/sticker |
Transforma uma imagem em figurinha |
/audios |
Lista áudios disponíveis |
/search + termo |
Pesquisa no Google |
/images + texto |
Envia imagem baseada na descrição |
/resume |
Faz um resumo das últimas conversas |
/rename + nome |
Altera o nome de do sticker marcado |
/removeBg |
Remove o fundo da imagem marcada ou enviada |
| Comando | Descrição |
|---|---|
/list |
Lista os participantes do grupo |
/past |
Mostra antigos membros |
| Comando | Descrição |
|---|---|
/add + número |
Adiciona um novo participante |
/rm + número |
Remove um membro |
/promote + número |
Promove para admin |
/demote + número |
Remove privilégio de administrador |
╭─≺ *Converse Comigo* ≻─╮
┃ 💬 Me chame carinhosamente:
┃ Exemplo → *Ada, qual sua música favorita?* 🎶
┃ ou marque minha mensagem hihihi
┃ 🐾 Eu vou responder com muito amor e fofura! 💕
╰────────────╯
src/bot: Inicialização, autenticação e controle do clientesrc/bot/events: Eventos do WhatsAppsrc/commands: Comandos do usuáriosrc/handlers: Manipulação dos eventos da libsrc/services: Serviços como IA, grupos, mídiassrc/utils: Funções utilitáriassrc/config: Local onde todas as váriaveis de ambiente são importadas e exportadas.src/assets: Recursos visuais (como avatar da Ada)
Quer contribuir com a AdaBot? Show! Siga os passos:
- Fork o repositório
- Crie sua branch:
git checkout -b minha-feature - Commit suas mudanças:
git commit -m 'feat: minha nova feature' - Push na branch:
git push origin minha-feature - Crie um Pull Request
AdaBot é compatível com todos os sistemas operacionais?
Sim! Desde que você tenha Node.js, yarn, ffmpeg e o Chrome instalados corretamente.
Como ela se conecta ao WhatsApp?
Usei a biblioteca whatsapp-web.js, que emula o WhatsApp Web por meio do Puppeteer.
- Biblioteca base:
whatsapp-web.js
