Thanks to the amazing contributors who helped build this project:
Gustavo Lopes Nomelini | João Gabriel Custódio | Lucas Eduardo Santos Ferreira |
This project combines a WhatsApp bot with a Streamlit dashboard. The WhatsApp bot uses predefined auto-responses stored in an SQLite database, while the Streamlit dashboard provides a user interface for managing and visualizing these auto-responses.
- WhatsApp Integration: A bot that uses whatsapp-web.js to connect to WhatsApp and automatically respond to messages based on triggers.
- SQLite Database: Auto-responses are stored and managed using an SQLite database.
- Streamlit Dashboard: A web interface for managing auto-responses and visualizing data.
- The Dashboard can be improved to have a better interface that displays more data and statistics with an enhanced user experience.
Ensure you have Node.js and Python installed.
Install required Python packages:
pip install streamlit
pip install imaplib2
pip install email
These are additional packages that could be useful (they are not implemented yet) :
pip install streamlit-modal # Not implemented
pip install streamlit-extras # Not yet used but has useful widgets
Install required Node.js packages:
npm install express
npm install whatsapp-web.js
npm install qrcode-terminal
npm install qrcode
npm install sqlite3
You have to enable IMAP on your gmail configuration and generate an APP Password to use
Configure your Whatsapp and Scan the QRCODE
Run the Streamlit dashboard:
streamlit run Home.py
Run the Express server for the WhatsApp bot:
node server.js
To see configured auto-responses, you can directly query the SQLite database or use the provided API.
sqlite3 auto_responses.db
SELECT * FROM auto_responses;
.exit
Retrieve auto-responses via the API:
curl http://localhost:3001/get-auto-responses
/get-qr
- Get the QR code for WhatsApp connection./check-connection
- Check WhatsApp connection status./auto-message
- Configure a new auto-response./get-auto-responses
- Retrieve all configured auto-responses.
This project uses the whatsapp-web.js library for integrating WhatsApp functionalities.
A huge thanks to the developers and contributors of this library for providing an easy-to-use API and making it available for open use. Your work is greatly appreciated!
Feel free to open issues or submit pull requests if you have suggestions or enhancements !
This project is licensed under the MIT License.
With this README, you should be able to understand the purpose of the project, how to install dependencies, run the application, and interact with the auto-responses. If you have any issues, please consult the documentation for the libraries used or open an issue in the project repository.