Olá, bem vindo! 👋
Esse bot de whatsapp foi criado para respostas a comandos, caso queira um para atendimento ao cliente (com fluxo de conversa), veja o repo.
Instalando bot
git clone https://github.com/kaualandi/bot-whatsapp.git
cd bot-whatsapp
npm install
Variáveis de ambiente
Você precisará de um arquivo .env
parecido com esse:
USING=PRODUCTION ENVIRONMENT VARIABLES
MAINTENANCE_MODE=false
BASEURL_BOTINFORS=http://localhost:3200
TOKEN_CONSULTAS=
BASE_URL_CONSULTAS=
ffmpegPath=/usr/bin/ffmpeg
Basta agora preencher os dados:
- USING: é figurativo, apenas se mostrará qual variável está sendo usada, no caso de ter duas.
- MAINTENANCE_MODE: é um flag que indica se o bot está em modo de manutenção, se
true
ele responderá avisando seu estado e não fará mais nada. - BASEURL_BOTINFORS: se você não alterar o script server do
package.json
será por padrãohttp://localhost:3004
. É essencial para o funcionamento do bot. - ffmpegPath: Diretório do ffmpeg, para baixar músicas com o comando
!yt
. Caso não tenha, veja como baixar aqui.
Os demais são dados do cliente, sendo assim não são necessários preencher.
Server
Eu disse acima da BASEURL_BOTINFORS, pois bem, aqui vamos configura-lo.
cd server
Precisamos de um arquivo para armazenar todas as informações
touch db.json
Agora abra esse arquivo em seu editor de textos e cole o objeto abaixo
{
"authorizations": []
}
Ambiente de Desenvolvimento
Caso não tenha o json-server globalmente, o instale.
npm install -g json-server
Se estiver no ambiente de desenvolvimento, é só rodar o npm run server
ou npm run server:w
, caso queira no modo watch.
Dessa forma, caso queria alterar a porta, você encontrará no arquivo package.json
em scripts
, busque por server
e server:w
altere a porta que fica após a flag --port
.
Ambiente de Produção
Acredito que você não queria que o server fique ocupando uma instância do terminal. Devemos então prepará-lo para o PM2.
Não ensinarei aqui como configurar o PM2. Mas se quiser, você pode ver o guia para isso.
Se ainda não estiver, entre na pasta do servidor
cd server
npm install
Você pode alterar a porta do server acessando a linha 5 da index.js
da pasta server
.
Inicie o server com o PM2:
pm2 start index.js --name wabot-server
Execução do Bot
Se você não tiver todas as variáveis de ambiente preenchidas, precisará rever em que parte elas são requeridas e preencher com outra coisa. Sugiro ver os arquivos
fetch.js
esteps.js
.
Volte para a pasta raíz do bot:
cd ..
npm start
Escaneie o QR Code como se estivesse conectando ao whatsapp web e mande um !menu
para o número que usou para escanear.
Não se esqueça de verificar se o multidevices (Multiplos Dispositivos) está ativado em seu whatsapp.
Se quiser usar o pm2, execute:
pm2 start index.js --name wabot-bot
Autor
👤 Kauã Landi
- Website: https://kaualf.com
- Github: @kaualandi
- LinkedIn: @kaualandi
- Instagram: @kaua.landi
🤝 Contribuição
Contribuições, problemas e solicitações de recursos são bem-vindos!
Sinta-se à vontade para verificar a página de problemas. Você também pode dar uma olhada na página de contribuição.
🥰 Mostre seu apoio
Dê uma ⭐️ se este projeto te ajudou!