đ Bot multifuncional inteligente para WhatsApp com Baileys v7, automação de mĂdia, stickers e IA.
- âïž Sobre o Projeto
- ⥠Recursos e Destaques
- đ± Instalação no Termux
- đ„ïž Instalação em VPS (Debian/Ubuntu)
- đŠ Hospedagem no Painel Pterodactyl
- âïž ConfiguraçÔes (
src/config.js) - đ€ Auto Responder
- đ CatĂĄlogo de Comandos
- đ€ Contribuição e Licença
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.
- đ 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.
- Abra o Termux e atualize os pacotes do sistema:
pkg upgrade -y && pkg update -y && pkg install git nodejs-lts ffmpeg -y- Permita o acesso ao armazenamento interno:
termux-setup-storage- Navegue até a pasta desejada e clone o repositório:
cd /sdcard
git clone https://github.com/paulovenoy/venoyBot.git
cd venoyBot- Instale as dependĂȘncias e inicie o bot:
npm install
npm start- 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).
- 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- 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 22Lembre-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!
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
| 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 | â |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
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"
}
]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.
O menu do bot fica dentro da pasta src no arquivo chamado menu.js
As mensagens ficam dentro da pasta src no arquivo chamado messages.js
O arquivo src/middlewares/customMiddleware.js permite adicionar lĂłgica personalizada sem mexer nos arquivos core do bot.
- â Adicionar comportamentos personalizados
- â Criar logs customizados
- â Implementar lĂłgica especĂfica por grupo
- â Reagir a eventos automĂĄticos
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 }
});
}
}
}export async function customMiddleware({ webMessage, type, action }) {
if (type === "participant" && action === "add") {
console.log("Novo membro:", webMessage.messageStubParameters[0]);
}
}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!");
}
}export async function customMiddleware({ type, commonFunctions }) {
if (type === "message" && commonFunctions) {
const {
sendReply,
sendSuccessReply,
args,
userMessageText,
isImage,
downloadImage,
} = commonFunctions;
// Sua lĂłgica personalizada aqui
}
}| 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) |
Todos os comandos de exemplo estĂŁo localizados em: src/commands/member/exemplos/
Todos os comandos de exemplo utilizam funçÔes de src/utils/loadCommonFunctions.js:
sendAudioFromFile(filePath, asVoice, quoted)sendAudioFromURL(url, asVoice, quoted)sendAudioFromBuffer(buffer, asVoice, quoted)
sendImageFromFile(filePath, caption, mentions, quoted)sendImageFromURL(url, caption, mentions, quoted)sendImageFromBuffer(buffer, caption, mentions, quoted)
sendVideoFromFile(filePath, caption, mentions, quoted)sendVideoFromURL(url, caption, mentions, quoted)sendVideoFromBuffer(buffer, caption, mentions, quoted)
sendGifFromFile(file, caption, mentions, quoted)sendGifFromURL(url, caption, mentions, quoted)sendGifFromBuffer(buffer, caption, mentions, quoted)
sendStickerFromFile(filePath, quoted)sendStickerFromURL(url, quoted)sendStickerFromBuffer(buffer, quoted)
sendDocumentFromFile(filePath, mimetype, fileName, quoted)sendDocumentFromURL(url, mimetype, fileName, quoted)sendDocumentFromBuffer(buffer, mimetype, fileName, quoted)
sendText(text, mentions)sendReply(text, mentions)sendReact(emoji)sendSuccessReply(text, mentions),sendErrorReply(text, mentions),sendWarningReply(text, mentions),sendWaitReply(text, mentions)sendSuccessReact(),sendErrorReact(),sendWarningReact(),sendWaitReact()
getGroupMetadata()- Obter metadados completos do grupogetGroupName()- Obter apenas o nome do grupogetGroupOwner()- Obter informaçÔes do dono do grupogetGroupParticipants()- Obter todos os participantes do grupogetGroupAdmins()- Obter administradores do grupo
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"]
);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"]
);await sendGifFromFile(
"./assets/gif.mp4",
"TĂĄ ai @5511999999999!",
["5511999999999@s.whatsapp.net"]
);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
Todos os arquivos de exemplo sĂŁo armazenados em assets/samples/:
sample-audio.mp3- Arquivo de ĂĄudio para testesample-document.pdf- Documento PDF para testesample-document.txt- Documento de texto para testesample-image.jpg- Arquivo de imagem para testesample-sticker.webp- Arquivo de sticker para testesample-video.mp4- Arquivo de vĂdeo para teste
- đ .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
Execute bash update.sh
Execute npm run test:all
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.
Caso dĂȘ algum erro na conexĂŁo, digite o seguinte comando:
bash reset-qr-auth.shDepois, 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.
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.
Para corrigir, reinicie a autenticação do Baileys:
bash reset-qr-auth.shEm seguida, conecte o nĂșmero novamente no WhatsApp em "dispositivos conectados".
Abra o termux, digite termux-setup-storage e depois, aceite as permissÔes
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:
- O primeiro dentro da
/sdcard - O segundo na pasta
/storage/emulated/0/Download, que no zip fica comovenoy-bot-main
VocĂȘ deve apagar um dos bots e tanto configurar quanto executar apenas um
O Venoy Bot é um projeto open source e sua contribuição é muito bem-vinda!
- đ Reportar bugs atravĂ©s das Issues
- âš Sugerir novas funcionalidades
- đ§ Contribuir com cĂłdigo (novos comandos, correçÔes, melhorias)
- â Dar uma estrela no repositĂłrio
- Leia nosso Guia de Contribuição completo
- Verifique as Issues abertas
- Siga o template obrigatĂłrio para Pull Requests
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.
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
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.
Este projeto estå sob a licença GPL-3.0. Mantenha os créditos dos autores e compartilhe melhorias sob a mesma licença.




