Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/kaualandi/bot-whatsapp
- Owner: kaualandi
- License: apache-2.0
- Created: 2022-06-18T14:33:38.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-06-19T12:10:07.000Z (7 months ago)
- Last Synced: 2024-06-19T22:02:03.677Z (7 months ago)
- Topics: chatbot, nodejs
- Language: TypeScript
- Homepage:
- Size: 641 KB
- Stars: 19
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
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](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:3200TOKEN_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!