Código fonte do legionbot, liberado pra galera hospedar seu próprio bot do zap sem depender de mim!
Criei o bot pra aprender os detalhes de usar javascript com nodejs, então o código da versão que está rodando é simplesmente um caos e cheia de gambiarras. Essa versão que posto aqui, vai servir pra tentar aplicar boas práticas e também tentar deixar o código mais acessível, sem chamadas que bloqueiam o código e mais modular, para que novas funções possam ser implementadas por outras pessoas sem grandes dificuldades.
O código desse repositório está funcional, então você pode rodar e testar as funções já implementadas.
Estas são funções que o legionbot já faz (ou pretendo fazer), mas que preciso reescrever e adaptar nesta versão.
-
Handlers básicos
- Handler msgs
- Handler Reacts
- Reescrever o
wrappers-bot.js
(código antigo lixo) - Handler Comandos Normais
-
Gerencia
- Preferências do grupo
- CRUD comandos
-
Filtros de Mensagens
- Mensagens do bot
- Whitelist no PV
- Travazaps
- Mensagens NSFW
- Links
- Palavras pré-definidas
-
Comandos Fixos
- Stickers
- Stickers normais
- Stickers sem fundo
- Transformar sticker em foto/vídeo/arquivo
- Manipulação de imagens
- Remover Fundo
- Distort/Mogrify
- NeedsMoreJPEG
- !atenção
- Roleta
- GPT
- JrMuNews
- Horóscopo
- Lembretes
- Roubar
- Clima
- Wikipedia
- Text-to-Speech
- Speech-to-Text
- Deletar
- ELOs LoL e Valorant
- Baixar Instagram
- Baixar do Tiktok
- Listas
- Fechar/Abrir grupo
- Custom Requests
- InstaSiPt
- RAB aviões
- Stickers
-
Notificação de Live e Vídeos
- Twitch
- Youtube
- Kick (sem API por enquanto)
-
Projetos Futuros
- Tutoriais em GIF
- NSFW Horários específicos
- !add contato em grupo
É difícil explicar tudo, mas vou tentar. É interessante que você entenda um pouquinho de programação pra facilitar, mas não é necessário se tiver paciência pra seguir um tutorial e usar o Google em caso de problemas.
- Algum computador que rode Windows ou Linux
- Pode ser o teu PC de casa, um notebook, um raspberry pi, um beaglebone... Recomendo pelo menos 4Gb de RAM
- Um celular com WhatsApp instalado e um número cadastrado
- NÃO USE o seu próprio número, você será banido
- Debian e derivados
$ curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
$ sudo apt install -y nodejs
- Windows: Acesse o site oficial do nodejs, baixe e instale a versão LTS.
Acesse o site oficial do ffmpeg e faça o download dos executáveis. Coloque em uma pasta que você saiba o caminho, pois vai precisar configurar o mesmo no configs.js
.
O bot utiliza o liquify do ImageMagick pra fazer as funções distort e JPEG.
Acesse o site oficial do ImageMagick, faça o download e instale. Estou usando a versão ImageMagick-7.1.1-12-Q16-HDRI-x64-dll.exe
, mas qualquer uma que intale o executável mogrify.exe
serve.
Anote a pasta onde foi instalado, pois vai precisar configurar o mesmo no configs.js
.
O bot utiliza a ferramenta rembg para remover fundo das imagens, que foi escrita em python.
- Instale o python3
- Em um termimal, execute:
pip install rembg[cli]
Você também pode usar o poder da placa de vídeo do servidor, se for possível. Visite o repositório oficial do rembg para mais informações.
- Descubra onde está o executável do rembg
- No windows, digite em um novo terminal:
where rembg
- No linux, digite em um novo terminal:
which rembg
Isso retornará o caminho completo do executável (script) do rembg, copie e guarde este valor para colar no arquivoconfigs.js
- No windows, digite em um novo terminal:
Com os pré-requisitos instalados, agora é hora de clonar ou baixar esse repositório e instalar as dependência.
O legionbot usa os seguintes pacotes (nesta versão, a final tem bem mais):
- whatsapp-web.js: Excelente biblioteca para manipulação do WhatsappWeb
- winston: Gerenciador de logs
- winston-daily-rotate-file: Extensão do gerenciador de logs para orgaização
- mime-types: Identificar extensão e tipo de arquivos
- @livecord/notify: Monitoramento de Streams na twitch e vídeos do youtube
- Navegue até o diretório onde estão os arquivos do bot e instale os pacotes necessários utilizando:
npm install
- Abra o arquivo
configs.js
com seu editor de preferência e edite as variáveis conforme especificado - Agora execute o bot usando:
node index.js
- Escaneie o qr-code e voilá, só alegria!