Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kaualandi/bot-whatsapp

o Bruce pode fazer figurinhas, auxiliar em grupos, converter moedas e outros
https://github.com/kaualandi/bot-whatsapp

chatbot nodejs

Last synced: 3 months ago
JSON representation

o Bruce pode fazer figurinhas, auxiliar em grupos, converter moedas e outros

Awesome Lists containing this project

README

        

Olá, bem vindo! 👋



Versão
Licença: APACHE 2.0
npm version
node-version
made-with-node

> Esse bot de whatsapp foi criado para respostas a comandos, caso queira um para atendimento ao cliente (com fluxo de conversa), veja o [repo](https://github.com/kaualandi/bot-whatsapp-flow/).

## Instalando bot
```bash
git clone https://github.com/kaualandi/bot-whatsapp.git
```
```bash
cd bot-whatsapp
```
```bash
npm install
```

## Variáveis de ambiente
Você precisará de um arquivo `.env` parecido com esse:
```env
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ão `http://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](https://www.ffmpeg.org/download.html).

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.

```bash
cd server
```

Precisamos de um arquivo para armazenar todas as informações

```bash
touch db.json
```

Agora abra esse arquivo em seu editor de textos e cole o objeto abaixo

```json
{
"authorizations": []
}
```

### Ambiente de Desenvolvimento

Caso não tenha o [json-server](https://www.npmjs.com/package/json-server) globalmente, o instale.

```bash
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](https://pm2.keymetrics.io/).

> Não ensinarei aqui como configurar o [PM2](https://pm2.keymetrics.io/). Mas se quiser, você pode ver o [guia](https://pm2.keymetrics.io/docs/usage/quick-start/) para isso.

Se ainda não estiver, entre na pasta do servidor

```bash
cd server
```
```bash
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:
```bash
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` e `steps.js`.

Volte para a pasta raíz do bot:
```bash
cd ..
```

```bash
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:
```bash
pm2 start index.js --name wabot-bot
```
## Autor

👤 **Kauã Landi**

* Website: https://kaualf.com
* Github: [@kaualandi](https://github.com/kaualandi)
* LinkedIn: [@kaualandi](https://linkedin.com/in/kaualandi)
* Instagram: [@kaua.landi](https://www.instagram.com/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](https://github.com/kaualandi/bot-whatsapp/issues). Você também pode dar uma olhada na [página de contribuição](https://github.com/kaualandi/bot-whatsapp/pulls).

## 🥰 Mostre seu apoio

Dê uma ⭐️ se este projeto te ajudou!