Este repositório contém uma aplicação Node que implementa um bot para gerenciamento de grupos do WhatsApp usando a biblioteca whatsapp-web.js. O bot oferece suporte aos comandos listados abaixo e permite a interação em inglês (english) e português.
Observação: Esse bot jamais terá uma feature para enviar mensagens em massa no privado dos usuários ou em grupos. Aviso: Não me responsabilizo pelas as ações de quem for utilizá-lo.
Certifique-se de ter os seguintes requisitos instalados em seu ambiente:
- Node.js 18 ou superior
- Número de celular separado para uso exclusivo do bot
- Google Chrome
- Docker
-
Clone este repositório para o seu ambiente local.
-
Execute o seguinte comando para instalar as dependências usando o Yarn:
yarn install
-
Configure o arquivo
.env
com as informações necessárias:BOT_NAME= OWNER_NUM= BOT_NUM= LANGUAGE= # SightEngine - https://dashboard.sightengine.com/login API_SIGHTENGINE_USER= API_SIGHTENGINE_SECRET= # OPENAI - https://platform.openai.com OPENAI_API_KEY= OPENAI_PASSWORD= # ACRCLOUD - www.acrcloud.com/ ACR_HOST= ACR_KEY= ACR_SECRET_KEY= # DATABASE (mysql) Exemplo: "mysql://root:docker@localhost:3306/hiperion" DATABASE_URL= # REDIS (opcional se você estiver usando um redis local) REDIS_URI=
-
Aplique as migrations do banco de dados usando o Prisma:
yarn prisma db push
-
-
Se você preferir usar o DockerFile, você pode buildar e iniciar o container do Docker separadamente:
-
Build a imagem para o docker:
docker compose up -d
-
Run o container do docker:
docker compose start
Note: Veja o log do bot para escanear o qr code na primeira vez -
docker compose logs bot -f
. -
-
Para buildar e iniciar o bot sem o Docker, use os seguintes comandos:
-
Build a imagem para o docker:
yarn build
-
Run o container do docker:
yarn start
Note: Vá até startupConfig (src/config/startupConfig.ts) e substitua o caminho para o chrome se for preciso (caso o seu diretório for diferente).
-
A tabela abaixo lista os comandos disponíveis no bot, sua descrição e se algum serviço de API é necessário.
Comando | Descrição | API Key |
---|---|---|
!menu |
Mostra o menu do bot | |
!fs |
Converte imagem, vídeo ou GIF em sticker | |
!off |
Desliga o bot | |
!about |
Mostra os créditos | |
!link |
Recebe o link de convite do grupo | |
!ping |
Verifica a latência do bot | |
!regras |
Mostra as regras do grupo | |
!promote |
Promove um usuário no grupo | |
!demote |
Rebaixa um usuário no grupo | |
!join |
Entra no grupo do convite | |
!leave |
Sai do grupo em questão | |
!add |
Adiciona um usuário ao grupo | |
!ban |
Remove o usuário do grupo e adiciona em todas as listas negras | |
!ld |
Ativa/Desativa o detector de links em algum grupo | |
!og |
Ativa/Desativa o apenas em um grupo em algum grupo | |
!md |
Ativa/Desativa o detector de conteúdo malicioso em algum grupo | SightEngine |
!pd |
Ativa/Desativa o detector de mensagens/aúdios de baixo-calão em algum grupo | OpenAI* |
!td |
Ativa/Desativa o detector de mensagens que travam o WhatsApp em algum grupo | |
!bv |
Ativa/Desativa a mensagem de boas-vindas quando alguém entra em algum grupo | |
!bl |
Adiciona o usuário à lista negra de todos os grupos | |
!rbl |
Remove o usuário da lista negra do grupo | |
!rblall |
Remove o usuário de todas as lista negras dos grupos | |
!asticker |
Ativa/Desativa a criação automática de stickers em algum grupo | |
!ainvite |
Ativa/Desativa o convite automático em algum grupo | |
!ginfo |
Mostra as informações de um grupo | |
!dload |
Baixa conteúdos de diversas redes sociais | |
!totext |
Converte uma mensagem de áudio para texto | OpenAI |
!clearchats |
Apaga a conversa de todos os chats | |
!recognize |
Identifica uma música | ACRCloud |
!pv |
Ativa/Desativa o modo privado(permite usar comandos no privado do bot) do bot | |
!binfo |
Mostra as informações do bot |
Observação*: Para reconhecimento de mensagens de áudio que contenha palavrões.
Se você quiser contribuir para este projeto, siga as etapas abaixo:
- Faça um fork deste repositório.
- Crie um branch para sua contribuição:
git checkout -b sua-branch
. - Faça as alterações desejadas e adicione a documentação, se necessário.
- Envie suas alterações:
git push origin sua-branch
. - Abra um pull request neste repositório.
Agradeço antecipadamente por suas contribuições!
Este projeto está licenciado nos termos da Licença Apache 2.0. Para obter mais detalhes, consulte o arquivo LICENSE.