Skip to content

Da necessidade de avisar vários membros de um grande de grupo de WhatsApp sempre que era encontrada uma promoção incrível, surgiu esse bot.

License

Notifications You must be signed in to change notification settings

leonetecbr/bot-alert-group-whatsapp

Repository files navigation

Bot de alerta para grupos do Whatsapp

Bot de alerta para grupos do Whatsapp

Licença   Problemas   Node.js  

Introdução

Esse bot surgiu da necessidade de avisar vários membros de um grande de grupo de WhatsApp sempre que era encontrada uma promoção incrível.

Testado e aprovado em um grupo de compradores compulsivos. ✅

Instalação

Passo a passo

Clone o projeto e instale as dependências:

git clone https://github.com/leonetecbr/bot-alert-group-whatsapp/
cd bot-alert-group-whatsapp
npm install

Instale o Chrome, caso não tenha na sua máquina:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb

Instale o ffmpeg;

sudo apt install ffmpeg

Caso deseje trocar os alertas disponíveis altere o seed de alertas.

Logo após copie o aquivo .env.example, renomei-o para .env e preencha conforme seu ambiente, rode os comandos:

npm install
npm run migrate:all
npm run seed:all
npm start

Por fim escanei o QR Code para fazer login com o WhatsApp. Após isso basta adicionar o bot no(s) grupo(s) e ativar os alertas através do privado do bot.

Rodando em segundo plano

Após rodar o npm start é necessário que o terminal permaneça aberto para que o código continue rodando, para evitar que isso ocorra vamos usar o supervisor.

Faça a instalação do Supervisor:

sudo apt install supervisor

Faça os ajustes necessários no arquivo /etc/supervisor/supervisord.conf:

; supervisor config file

[unix_http_server]
file=/var/run/supervisor.sock   ; (the path to the socket file)
chmod=0770                       ; sockef file mode (default 0700)
chown=ubuntu

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor            ; ('AUTO' child log dir, default $TEMP)

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL  for a unix socket

; The [include] section can just contain the "files" setting.  This
; setting can list multiple files (separated by whitespace or
; newlines).  It can also contain wildcards.  The filenames are
; interpreted as relative to this file.  Included files *cannot*
; include files themselves.

[include]
files = /etc/supervisor/conf.d/*.conf

Configure o Supervisor criando o arquivo bot.conf no diretório /etc/supervisor/conf.d:

[program:whatsapp]
process_name=bot_de_alerta
command=/home/ubuntu/.nvm/versions/node/v20.17.0/bin/node /home/ubuntu/bot/index.js
autostart=true
autorestart=true
user=ubuntu
redirect_stderr=true
stdout_logfile=/home/ubuntu/bot/supervisor.log

Inicie o Supervisor:

sudo supervisorctl reread
 
sudo supervisorctl update
 
sudo supervisorctl start "whatsapp:*"

Usando

Adicionando ao(s) seu(s) grupo(s)

Primeiramente o bot deve ser adicionado em pelo menos um grupo, defina todos os alertas corretamente, porque eles estarão na mensagem de boas-vindas que o bot enviará após ser adicionado no grupo. Exemplo da mensagem de boas-vindas:

Adicionando o bot ao grupo

Conversando com o bot

Os usuários que desejarem serem alertados devem entrar em contato com o bot pelo privado, lá poderão ativar e desativar os alertas que desejam. Exemplo:

Conversando com o bot

Ativando e desativando alertas

Para ativar um alerta basta mandá-lo para o bot no privado, para desativar é só mandá-lo seguido de off, caso deseje consultar a lista de alertas disponíveis pode se usar o comando Meus Alertas. Exemplo:

Gerenciando os alertas

Disparando alertas

Para disparar o alerta é bem simples, basta usar o alerta em uma mensagem no grupo, recomendamos que o alerta inicie com uma hash (#), para evitar o disparo acidental, (pode se incluir vários alerta em uma mesma mensagem). Exemplo:

Disparando os alertas

Cancelando alertas

Para cancelar um alerta você pode excluir a mensagem o que o disparou, que o bot irá excluir a resposta a ela.

Cancelando envio de um alerta

About

Da necessidade de avisar vários membros de um grande de grupo de WhatsApp sempre que era encontrada uma promoção incrível, surgiu esse bot.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published