Skip to content
paulovenoyPublic

About

💚 Bot multifuncional inteligente para WhatsApp com Baileys v7, automação de mídia, stickers e IA.

Topics

Resources

Contributing

Stars

82 stars

Watchers

2 watching

Forks

Repository files navigation

đŸ€– Venoy Bot 💚

Venoy Bot Preview

Versão Node.js Baileys Licença

💚 Bot multifuncional inteligente para WhatsApp com Baileys v7, automação de mídia, stickers e IA.


📋 Sumário


☘ Sobre o Projeto

O Venoy Bot foi projetado com foco em arquitetura orientada a arquivos (File-Oriented Architecture), dispensando gigantescos arquivos de switch/case. Cada comando possui seu próprio módulo, com controle automåtico de permissÔes por diretório:

  • 👑 src/commands/owner/ → Funcionalidades exclusivas do dono do bot.
  • đŸ›Ąïž src/commands/admin/ → Gerenciamento e moderação de grupos.
  • 🟱 src/commands/member/ → Comandos pĂșblicos, downloads, IA, canvas e utilitĂĄrios.

⚡ Recursos e Destaques

  • 💚 Menu DinĂąmico & Moderno: Exibição organizada com tema verde e indicadores em tempo real.
  • đŸ“¶ MĂ©tricas de Performance (/ping): LatĂȘncia, Uptime do processo, consumo de memĂłria RAM (MB) e versĂŁo do Node.
  • đŸ€– InteligĂȘncia Artificial Nativa: Suporte a modelos Google Gemini, GPT-5 Mini, geração de imagens via Flux e figurinhas com IA.
  • đŸ“„ Central de Downloads: Baixe vĂ­deos e ĂĄudios do TikTok, YouTube, Instagram, Facebook e Pinterest.
  • 🎹 Canvas e Edição de Imagens: Filtros de imagem em tempo real (blur, invert, gray, rip, molduras).
  • đŸ›Ąïž Sistemas Anti-Spam & Moderação: Anti-link, anti-imagem, anti-vĂ­deo, anti-ĂĄudio, anti-documento, anti-sticker e apenas-admin.

đŸ“± Instalação no Termux

  1. Abra o Termux e atualize os pacotes do sistema:
pkg upgrade -y && pkg update -y && pkg install git nodejs-lts ffmpeg -y
  1. Permita o acesso ao armazenamento interno:
termux-setup-storage
  1. Navegue até a pasta desejada e clone o repositório:
cd /sdcard
git clone https://github.com/paulovenoy/venoyBot.git
cd venoyBot
  1. Instale as dependĂȘncias e inicie o bot:
npm install
npm start
  1. Digite o seu nĂșmero de telefone quando solicitado e insira o cĂłdigo de pareamento no seu WhatsApp (ConfiguraçÔes > Dispositivos Conectados > Conectar com nĂșmero).

đŸ–„ïž Instalação em VPS (Debian/Ubuntu)

  1. Atualize o sistema e instale as dependĂȘncias principais:
sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl ffmpeg build-essential
  1. Instale o Node.js v22 via NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.bashrc
nvm install 22

Lembre-se de trocar os nĂșmeros acima pelos seus nĂșmeros, obviamente e tbm ver se o seu prefixo Ă© a barra /.

24 - Por fim, teste o bot!

tutorial-vps-9

Diagrama de conexĂŁo

diagram

Alguns comandos necessitam de API

Edite o arquivo config.js que estĂĄ dentro da pasta src e cole sua api key da plataforma Spider X API, conforme o cĂłdigo abaixo. Para obter seu token, acesse: https://api.spiderx.com.br e crie sua conta gratuitamente!

export const SPIDER_API_TOKEN = "seu_token_aqui";

Para comandos de canvas e gerar-link, Ă© necessĂĄrio configurar a API do Linker:

export const LINKER_BASE_URL = "https://linker.devgui.dev/api";
export const LINKER_API_KEY = "seu_token_aqui";

Obtenha sua API Key em: https://linker.devgui.dev

Funcionalidades gerais

Função Contexto Requer a Spider X API?
Alterar imagem do bot Dono ❌
Desligar o bot no grupo Dono ❌
Executar comandos de infra Dono ❌
Ligar o bot no grupo Dono ❌
Modificar o prefixo por grupo Dono ❌
Obter o ID do grupo Dono ❌
Abrir grupo Admin ❌
Advertir Admin ❌
Agendar mensagem Admin ❌
Anti audio Admin ❌
Anti documento Admin ❌
Anti evento Admin ❌
Anti imagem Admin ❌
Anti link Admin ❌
Anti produto Admin ❌
Anti sticker Admin ❌
Anti video Admin ❌
Banir membros Admin ❌
Bloquear nĂșmero no WhatsApp Admin ❌
Excluir mensagens Admin ❌
Fechar grupo Admin ❌
Gestão de mensagens do auto-responder Admin ❌
Ligar/desligar auto responder Admin ❌
Ligar/desligar boas vindas Admin ❌
Ligar/desligar saída de grupo Admin ❌
Limpar chat Admin ❌
Marcar todos Admin ❌
Mudar nome do grupo Admin ❌
Mute/unmute Admin ❌
Obter o link do grupo Admin ❌
Reativar advertĂȘncia Admin ❌
Remover advertĂȘncia Admin ❌
Revelar Admin ❌
Somente admins Admin ❌
Ver saldo Admin ❌
Borrar imagem Membro ❌
Brat (imagem com texto) Membro ✅
Busca CEP Membro ❌
Canvas Bolsonaro Membro ✅
Canvas cadeia Membro ✅
Canvas inverter Membro ✅
Canvas RIP Membro ✅
Comandos de diversão/brincadeiras Membro ❌
Espelhar imagem Membro ❌
Facebook download Membro ✅
Fake chat Membro ❌
Figurinha animada para GIF Membro ✅
Figurinha de texto animada Membro ✅
Geração de imagens com IA Membro ✅
Gerar link Membro ❌
Google Gemini Membro ✅
Google search Membro ✅
GPT-5 Mini Membro ✅
Imagem com contraste Membro ❌
Imagem IA Flux Membro ✅
Imagem pixelada Membro ❌
Imagem preto/branco Membro ❌
InformaçÔes de um comando Membro ❌
Instagram download Membro ✅
Pinterest download (carrossel) Membro ✅
Ping Membro ❌
Play áudio Membro ✅
Play vídeo Membro ✅
Renomear figurinha Membro ❌
Sticker Membro ❌
Sticker IA Membro ✅
Sticker para imagem Membro ❌
TikTok video download Membro ✅
YT MP3 Membro ✅
YT MP4 Membro ✅
YT search Membro ✅

Funcionalidades de envio (Exemplos)

đŸŽ” Exemplos de ĂĄudio

Comando Função Descrição Características
/enviar-audio-de-arquivo Enviar åudio de arquivo Demonstra envio de arquivos de åudio do armazenamento local Opção de mensagem de voz, resposta citada
/enviar-audio-de-url Enviar åudio de URL Demonstra envio de arquivos de åudio de URLs externas Opção de mensagem de voz, resposta citada
/enviar-audio-de-buffer Enviar åudio de buffer Demonstra envio de arquivos de åudio de buffers de memória Opção de mensagem de voz, resposta citada, buffer de arquivo ou URL

đŸ–Œïž Exemplos de imagem

Comando Função Descrição Características
/enviar-imagem-de-arquivo Enviar imagem de arquivo Demonstra envio de arquivos de imagem do armazenamento local Suporte a legenda personalizada, mençÔes, resposta citada
/enviar-imagem-de-url Enviar imagem de URL Demonstra envio de arquivos de imagem de URLs externas Envio direto de URL, suporte a mençÔes, resposta citada
/enviar-imagem-de-buffer Enviar imagem de buffer Demonstra envio de arquivos de imagem de buffers de memória Buffer de arquivo ou URL, legenda opcional, mençÔes, resposta citada

🎬 Exemplos de vídeo

Comando Função Descrição Características
/enviar-video-de-arquivo Enviar vídeo de arquivo Demonstra envio de arquivos de vídeo do armazenamento local Suporte a legenda personalizada, mençÔes, resposta citada
/enviar-video-de-url Enviar vídeo de URL Demonstra envio de arquivos de vídeo de URLs externas Envio direto de URL, suporte a mençÔes, resposta citada
/enviar-video-de-buffer Enviar vídeo de buffer Demonstra envio de arquivos de vídeo de buffers de memória Buffer de arquivo ou URL, legenda opcional, mençÔes, resposta citada

đŸŽžïž Exemplos de GIF

Comando Função Descrição Características
/enviar-gif-de-arquivo Enviar GIF de arquivo Demonstra envio de arquivos GIF do armazenamento local Suporte a legenda, mençÔes, resposta citada
/enviar-gif-de-url Enviar GIF de URL Demonstra envio de arquivos GIF de URLs externas Suporte a legenda, mençÔes, resposta citada
/enviar-gif-de-buffer Enviar GIF de buffer Demonstra envio de arquivos GIF de buffers de memória Buffer de arquivo ou URL, legenda, mençÔes, resposta citada

🎭 Exemplos de sticker

Comando Função Descrição Características
/enviar-sticker-de-arquivo Enviar sticker de arquivo Demonstra envio de arquivos sticker do armazenamento local Formato WebP
/enviar-sticker-de-url Enviar sticker de URL Demonstra envio de arquivos sticker de URLs externas Formato WebP
/enviar-sticker-de-buffer Enviar sticker de buffer Demonstra envio de arquivos sticker de buffers de memĂłria Buffer de arquivo ou URL

📊 Exemplos de enquete/votação

Comando Função Descrição Características
/enviar-enquete Enviar enquete Demonstra como criar e enviar enquetes/votaçÔes em grupos Suporte a escolha Ășnica ou mĂșltipla escolha

📍 Exemplos de localização

Comando Função Descrição Características
/enviar-localizacao Enviar localização Demonstra como enviar localizaçÔes, com latitude e longitude Suporte a latitude e longitude de qualquer lugar do mundo

đŸ“Č Exemplos de contatos

Comando Função Descrição Características
/enviar-contato Enviar contato Demonstra como enviar contatos Os contatos podem ser chamados ou adicionados Ă  lista dos seus contatos

📄 Exemplos de documento

Comando Função Descrição Características
/enviar-documento-de-arquivo Enviar documento de arquivo Demonstra envio de arquivos de documento do armazenamento local Especificação de tipo MIME, nome de arquivo personalizado
/enviar-documento-de-url Enviar documento de URL Demonstra envio de arquivos de documento de URLs externas Especificação de tipo MIME, nome de arquivo personalizado
/enviar-documento-de-buffer Enviar documento de buffer Demonstra envio de arquivos de documento de buffers de memĂłria Buffer de arquivo ou URL, tipo MIME, nome de arquivo personalizado

💬 Exemplos de mensagem

Comando Função Descrição Características
/enviar-texto Enviar texto Demonstra envio de mensagens de texto simples Suporte a mençÔes
/enviar-resposta Enviar resposta Demonstra envio de mensagens de resposta Respostas de sucesso/erro/aviso
/enviar-reacoes Enviar reaçÔes Demonstra envio de emojis de reação Vårias reaçÔes emoji, reaçÔes de sucesso/erro/aviso
/enviar-mensagem-editada Enviar mensagem editada Demonstra envio de mensagens editadas Pode editar mensagens enviadas de forma direta ou respondendo alguém

📊 Exemplos de metadados

Comando Função Descrição Características
/obter-metadados-mensagem Obter metadados da mensagem Demonstra extração avançada de metadados de mensagem ou mensagem citada Anålise detalhada, suporte a resposta de mensagens, informaçÔes técnicas, mençÔes automåticas
/obter-dados-grupo Obter dados do grupo Demonstra extração de informaçÔes do grupo Metadados do grupo, lista de participantes, informaçÔes de admin
/funcoes-grupo FunçÔes do grupo Demonstra uso de funçÔes utilitårias do grupo Extração de nome, dono, admins, participantes do grupo

🎯 Central de exemplos

Comando Função Descrição Características
/exemplos-de-mensagens Central de exemplos Central com lista de todos os exemplos disponĂ­veis Menu interativo, acesso direto a todos os exemplos

Auto responder

O Venoy Bot possui um auto-responder embutido, edite o arquivo em ./database/auto-responder.json:

[
    {
        "match": "Oi",
        "answer": "OlĂĄ, tudo bem?"
    },
    {
        "match": "Tudo bem",
        "answer": "Estou bem, obrigado por perguntar"
    },
    {
        "match": "Qual seu nome",
        "answer": "Meu nome Ă© Venoy Bot"
    }
]

Auto figurinha / Auto sticker

O Venoy Bot possui um recurso de auto-figurinha que converte automaticamente imagens e vĂ­deos enviados em figurinhas:

Comando Função Descrição
/auto-stick 1 Ativar Ativa a conversĂŁo automĂĄtica no grupo
/auto-stick 0 Desativar Desativa a conversĂŁo automĂĄtica no grupo

Nota: O recurso suporta imagens e vídeos de até 10 segundos.

Onde fica o menu do bot?

O menu do bot fica dentro da pasta src no arquivo chamado menu.js

Onde modifico a mensagem de boas vindas e quando alguém sai do grupo?

As mensagens ficam dentro da pasta src no arquivo chamado messages.js

Diagrama de como os comandos funcionam

diagram

Diagrama de como funcionam os middlewares (interceptadores) de recepção e saída

diagram

Custom Middleware - Personalize o bot sem modificar arquivos principais

O arquivo src/middlewares/customMiddleware.js permite adicionar lĂłgica personalizada sem mexer nos arquivos core do bot.

Quando usar?

  • ✅ Adicionar comportamentos personalizados
  • ✅ Criar logs customizados
  • ✅ Implementar lĂłgica especĂ­fica por grupo
  • ✅ Reagir a eventos automĂĄticos

Exemplos prĂĄticos

Exemplo 1: Reagir automaticamente a mensagens

export async function customMiddleware({ socket, webMessage, type, commonFunctions }) {
  if (type === "message" && commonFunctions) {
    const { userMessageText } = commonFunctions;
    if (userMessageText?.toLowerCase() === "oi") {
      await socket.sendMessage(webMessage.key.remoteJid, {
        react: { text: "👋", key: webMessage.key }
      });
    }
  }
}

Exemplo 2: Log quando alguém entra no grupo

export async function customMiddleware({ webMessage, type, action }) {
  if (type === "participant" && action === "add") {
    console.log("Novo membro:", webMessage.messageStubParameters[0]);
  }
}

Exemplo 3: Mensagem personalizada em grupo especĂ­fico

export async function customMiddleware({ type, action, commonFunctions }) {
  const grupoVIP = "120363123456789012@g.us";
  
  if (type === "participant" && action === "add" && commonFunctions?.remoteJid === grupoVIP) {
    const { sendReply } = commonFunctions;
    await sendReply("🎉 Bem-vindo ao grupo VIP!");
  }
}

Exemplo 4: Usar funçÔes avançadas do bot

export async function customMiddleware({ type, commonFunctions }) {
  if (type === "message" && commonFunctions) {
    const {
      sendReply,
      sendSuccessReply,
      args,
      userMessageText,
      isImage,
      downloadImage,
    } = commonFunctions;
    
    // Sua lĂłgica personalizada aqui
  }
}

ParĂąmetros disponĂ­veis

Parùmetro Tipo Descrição
socket Object Socket do Baileys para enviar mensagens
webMessage Object Mensagem completa do WhatsApp
type String "message" ou "participant"
commonFunctions Object/null Todas as funçÔes do bot (null para eventos de participantes)
action String "add" ou "remove" (apenas em eventos de participantes)
data String Dados do participante (apenas em eventos de participantes)

Implementação técnica dos exemplos

📁 Localização dos comandos de exemplo

Todos os comandos de exemplo estĂŁo localizados em: src/commands/member/exemplos/

đŸ› ïž FunçÔes disponĂ­veis

Todos os comandos de exemplo utilizam funçÔes de src/utils/loadCommonFunctions.js:

FunçÔes de åudio

  • sendAudioFromFile(filePath, asVoice, quoted)
  • sendAudioFromURL(url, asVoice, quoted)
  • sendAudioFromBuffer(buffer, asVoice, quoted)

FunçÔes de imagem

  • sendImageFromFile(filePath, caption, mentions, quoted)
  • sendImageFromURL(url, caption, mentions, quoted)
  • sendImageFromBuffer(buffer, caption, mentions, quoted)

FunçÔes de Vídeo

  • sendVideoFromFile(filePath, caption, mentions, quoted)
  • sendVideoFromURL(url, caption, mentions, quoted)
  • sendVideoFromBuffer(buffer, caption, mentions, quoted)

FunçÔes de GIF

  • sendGifFromFile(file, caption, mentions, quoted)
  • sendGifFromURL(url, caption, mentions, quoted)
  • sendGifFromBuffer(buffer, caption, mentions, quoted)

FunçÔes de sticker

  • sendStickerFromFile(filePath, quoted)
  • sendStickerFromURL(url, quoted)
  • sendStickerFromBuffer(buffer, quoted)

FunçÔes de documento

  • sendDocumentFromFile(filePath, mimetype, fileName, quoted)
  • sendDocumentFromURL(url, mimetype, fileName, quoted)
  • sendDocumentFromBuffer(buffer, mimetype, fileName, quoted)

FunçÔes de mensagem

  • sendText(text, mentions)
  • sendReply(text, mentions)
  • sendReact(emoji)
  • sendSuccessReply(text, mentions), sendErrorReply(text, mentions), sendWarningReply(text, mentions), sendWaitReply(text, mentions)
  • sendSuccessReact(), sendErrorReact(), sendWarningReact(), sendWaitReact()

FunçÔes utilitårias de grupo

  • getGroupMetadata() - Obter metadados completos do grupo
  • getGroupName() - Obter apenas o nome do grupo
  • getGroupOwner() - Obter informaçÔes do dono do grupo
  • getGroupParticipants() - Obter todos os participantes do grupo
  • getGroupAdmins() - Obter administradores do grupo

🎯 Exemplos de uso com mençÔes

Enviar imagem com mençÔes

await sendImageFromFile("./assets/image.jpg", "OlĂĄ @5511999999999!", ["5511999999999@s.whatsapp.net"]);

await sendImageFromURL(
  "https://exemplo.com/imagem.png", 
  "OlĂĄ @5511999999999 e @5511888888888!", 
  ["5511999999999@s.whatsapp.net", "5511888888888@s.whatsapp.net"]
);

Enviar vídeo com mençÔes

await sendVideoFromFile("./assets/video.mp4", "Confira este vĂ­deo @5511999999999!", ["5511999999999@s.whatsapp.net"]);

const buffer = fs.readFileSync("./video.mp4");
await sendVideoFromBuffer(
  buffer, 
  "VĂ­deo especial para @5511999999999 e @5511888888888!", 
  ["5511999999999@s.whatsapp.net", "5511888888888@s.whatsapp.net"]
);

Enviar GIF com mençÔes

await sendGifFromFile(
  "./assets/gif.mp4", 
  "TĂĄ ai @5511999999999!", 
  ["5511999999999@s.whatsapp.net"]
);

🎯 Suporte TypeScript

DefiniçÔes completas do TypeScript estão disponíveis em src/@types/index.d.ts com:

  • Assinaturas de função detalhadas
  • DescriçÔes de parĂąmetros
  • Exemplos de uso
  • EspecificaçÔes de tipo de retorno

📁 Arquivos de exemplo

Todos os arquivos de exemplo sĂŁo armazenados em assets/samples/:

  • sample-audio.mp3 - Arquivo de ĂĄudio para teste
  • sample-document.pdf - Documento PDF para teste
  • sample-document.txt - Documento de texto para teste
  • sample-image.jpg - Arquivo de imagem para teste
  • sample-sticker.webp - Arquivo de sticker para teste
  • sample-video.mp4 - Arquivo de vĂ­deo para teste

Estrutura de pastas

  • 📁 .github ➔ workflows de CI/CD e arquivo para o agente do copilot
  • 📁 assets ➔ arquivos de mĂ­dia
    • 📁 auth ➔ arquivos da conexĂŁo do bot
    • 📁 images ➔ arquivos de imagem
      • 📁 funny ➔ gifs de comandos de diversĂŁo
    • 📁 samples ➔ arquivos de exemplo para testes
    • 📁 temp ➔ arquivos temporĂĄrios
  • 📁 database ➔ arquivos de dados
  • 📁 diagrams ➔ diagramas de fluxos de dados e execução do Bot
  • 📁 node_modules ➔ mĂłdulos do Node.js
  • 📁 src ➔ cĂłdigo fonte do bot (geralmente vocĂȘ mexerĂĄ mais aqui)
    • 📁 @types ➔ pasta onde fica as definiçÔes de tipos
    • 📁 commands ➔ pasta onde ficam os comandos
      • 📁 admin ➔ pasta onde ficam os comandos administrativos
      • 📁 member ➔ pasta onde ficam os comandos gerais (todos poderĂŁo utilizar)
        • 📁 exemplos ➔ pasta com 24 comandos de exemplo
      • 📁 owner ➔ pasta onde ficam os comandos de dono (grupo e bot)
      • đŸ“đŸ€–-como-criar-comandos.js ➔ arquivo de exemplo de como criar um comando
    • 📁 errors ➔ classes de erros usadas nos comandos
    • 📁 middlewares ➔ interceptadores de requisiçÔes
    • 📁 services ➔ serviços diversos
    • 📁 test ➔ testes
    • 📁 utils ➔ utilitĂĄrios
    • 📝 config.js ➔ arquivo de configuraçÔes do bot
    • 📝 connection.js ➔ script de conexĂŁo do bot com a biblioteca Baileys
    • 📝 index.js ➔ script ponto de entrada do bot
    • 📝 loader.js ➔ script de carga de funçÔes
    • 📝 menu.js ➔ menu do bot
    • 📝 messages.js ➔ arquivos de mensagens de boas vindas e saĂ­da
    • 📝 test.js ➔ script de testes
  • 📝 .gitignore ➔ arquivo para nĂŁo subir certas pastas no GitHub
  • 📝 ⚡-cases-estao-aqui.js ➔ easter egg
  • 📝 AGENTS.md ➔ arquivo de instruçÔes para IA's
  • 📝 CLAUDE.md ➔ arquivo de instruçÔes para a IA Claude
  • 📝 GEMINI.md ➔ arquivo de instruçÔes para a IA Gemini
  • 📝 CONTRIBUTING.md ➔ guia de contribuição
  • 📝 LICENSE ➔ arquivo de licença
  • 📝 package-lock.json ➔ arquivo de cache das dependĂȘncias do bot
  • 📝 package.json ➔ arquivo de definição das dependĂȘncias do bot
  • 📝 README.md ➔ esta documentação
  • 📝 reset-qr-auth.sh ➔ arquivo para excluir as credenciais do bot
  • 📝 update.sh ➔ arquivo de atualização do bot

Atualizar o bot

Execute bash update.sh

Testes

Execute npm run test:all

Erros comuns

📁 Operação negada ao extrair a pasta

O erro abaixo acontece quando é feito o download do arquivo ZIP direto no celular em algumas versÔes do apk ZArchiver e também de celulares sem root.

Para resolver, siga o tutorial de instalação via git clone.

erro comum 1

🔄 Remoção dos arquivos de sessão e conectar novamente

Caso dĂȘ algum erro na conexĂŁo, digite o seguinte comando:

bash reset-qr-auth.sh

Depois, remova o dispositivo do WhatsApp indo nas configuraçÔes do WhatsApp em "dispositivos conectados" e repita o procedimento de iniciar o bot com npm start.

⏱ Erro rate-overlimit apĂłs muito tempo offline

Quando o bot fica muito tempo desligado (por exemplo, horas ou um dia inteiro), ao religar ele pode tentar processar muitas mensagens acumuladas de uma vez. Isso pode disparar erro de rate-overlimit durante a sincronização.

erro comum 3

Para corrigir, reinicie a autenticação do Baileys:

bash reset-qr-auth.sh

Em seguida, conecte o nĂșmero novamente no WhatsApp em "dispositivos conectados".

🔐 Permission denied (permissão negada) ao acessar cd /sdcard

erro comum 2

Abra o termux, digite termux-setup-storage e depois, aceite as permissÔes

⚙ VocĂȘ configura o token da Spider API, prefixo, etc e o bot nĂŁo reconhece

Verifique se vocĂȘ nĂŁo tem dois Venoys rodando no seu celular, muitas pessoas baixam o zip e seguem o tutorial, porĂ©m, o tutorial nĂŁo explica pelo zip, e sim, pelo git clone.

Geralmente as pessoas que cometem esse erro, ficam com dois bots:

  1. O primeiro dentro da /sdcard
  2. O segundo na pasta /storage/emulated/0/Download, que no zip fica como venoy-bot-main

VocĂȘ deve apagar um dos bots e tanto configurar quanto executar apenas um

Inscreva-se no canal

YouTube

Contribuindo com o projeto

O Venoy Bot é um projeto open source e sua contribuição é muito bem-vinda!

🚀 Como contribuir

  • 🐛 Reportar bugs atravĂ©s das Issues
  • ✹ Sugerir novas funcionalidades
  • 🔧 Contribuir com cĂłdigo (novos comandos, correçÔes, melhorias)
  • ⭐ Dar uma estrela no repositĂłrio

📖 Antes de contribuir

  1. Leia nosso Guia de Contribuição completo
  2. Verifique as Issues abertas
  3. Siga o template obrigatĂłrio para Pull Requests

Licença

GPL-3.0

Este projeto estĂĄ licenciado sob a Licença PĂșblica Geral GNU (GPL-3.0). Isso significa que:

  • VocĂȘ pode usar este cĂłdigo como quiser, seja para projetos pessoais ou comerciais.
  • VocĂȘ pode modificar o cĂłdigo para adaptĂĄ-lo Ă s suas necessidades.
  • VocĂȘ pode compartilhar ou vender o cĂłdigo, mesmo modificado, mas precisa:
    • Manter os crĂ©ditos ao autor original (Guilherme França - Dev Gui).
    • Tornar o cĂłdigo modificado disponĂ­vel sob a mesma licença GPL-3.0.

O que vocĂȘ nĂŁo pode fazer:

  • NĂŁo pode transformar este cĂłdigo em algo proprietĂĄrio (fechado) e impedir outras pessoas de acessĂĄ-lo ou usĂĄ-lo.

Esta licença garante que todos tenham acesso ao código-fonte e podem colaborar livremente, promovendo o compartilhamento e o aprimoramento do projeto.

📂 Arquitetura do Projeto

venoyBot/
├── assets/             # Imagens, stickers, áudios, temporários e mídias
├── database/           # PersistĂȘncia de dados local (JSON/Cache)
├── diagrams/           # Diagramas de arquitetura e fluxo de eventos
├── eggs/               # Templates e configuraçÔes para Pterodactyl Panel
├── src/                # Código-fonte principal
│   ├── commands/       # Módulos de comandos divididos por permissão
│   │   ├── admin/      # Comandos de moderação de grupos
│   │   ├── member/     # Comandos pĂșblicos (downloads, stickers, utilitĂĄrios)
│   │   └── owner/      # Comandos restritos ao proprietário
│   ├── config.js       # Variáveis de configuração e personalização
│   └── index.js        # Inicialização do client Baileys v7
├── .gitignore          # Arquivos e diretórios ignorados
└── package.json        # Metadados e dependĂȘncias

⚠ Observação sobre DependĂȘncias (Termux)

Neste repositório, o diretório node_modules foi disponibilizado para viabilizar a execução direta em dispositivos móveis via Termux, contornando limitaçÔes de compilação nativa que ocorrem em determinados ambientes Android.


📄 Licença

Este projeto estå sob a licença GPL-3.0. Mantenha os créditos dos autores e compartilhe melhorias sob a mesma licença.


Desenvolvido com 💚 por Paulo Venoy & Comunidade Open Source

About

💚 Bot multifuncional inteligente para WhatsApp com Baileys v7, automação de mídia, stickers e IA.

Topics

Resources

Contributing

Stars

82 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages