A comprehensive WhatsApp automation bot with a beautiful web interface, built with TypeScript and modern web technologies.
- β Auto-Reply to Messages
- β Welcome/Goodbye Messages
- β Keyword-Based Commands
- β Message Forwarding
- β Scheduled Messages
- β Basic Moderation
- β Media Sharing
- β Basic Scam/Spam Detection
- β Auto-View Status
- β Download Status to Device
- π User Profile Analysis
- π Multi-Language Support
- π Interactive Menus
- π Group Event Notifications
- π Message Analytics
- π Integration with External APIs
- π Role-Based Access
- π Automated Group Invites
- π Save View-Once Media to Device
- π Turn View-Once Media into WhatsApp Sticker
- π Advanced Scam/Spam Detection
- π Database Integration
- π Webhook-Based Automation
- π Multi-Group Management
- π AI-Powered Chatbot
- π User Behavior Profiling
- π Automated Moderation Actions
- π Custom Interactive Flows
- π Real-Time Dashboard
- π Cross-Platform Notifications
- π Scalable Infrastructure
whatsapp-bot/
βββ bot/ # Core WhatsApp bot (whatsapp-web.js)
βββ backend/ # REST API (Express.js)
βββ frontend/ # Web interface (React + Chakra UI)
βββ mobile/ # Future mobile app (React Native)
βββ docs/ # Documentation
- Bot:
whatsapp-web.js,wa-sticker-formatter,sharp - Backend: Node.js, Express, mongoose, redis, jsonwebtoken
- Frontend: React, TypeScript, Chakra UI, recharts, axios
- Database: MongoDB Atlas
- Deployment: Heroku/AWS, Netlify/Vercel, Redis Cloud
- Node.js 18+
- MongoDB
- Redis (optional)
- WhatsApp account for testing
-
Clone and setup:
git clone https://github.com/icekidtech/whatsapp-bot.git cd whatsapp-bot pnpm install -
Setup bot:
cd bot pnpm install pnpm run build -
Setup backend:
cd ../backend pnpm install pnpm run build -
Setup frontend:
cd ../frontend pnpm install pnpm run build -
Environment variables: Create
.envfiles in each module with required configurations.
-
Start all services:
pnpm run install:all pnpm run dev
-
Or run individually:
# Terminal 1 - Bot cd bot && pnpm run dev # Terminal 2 - Backend cd backend && npm run dev # Terminal 3 - Frontend cd frontend && npm start
-
Access the web interface:
- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
- API Docs: http://localhost:3001/api/health
The web interface provides:
- Dashboard: Real-time bot status and analytics
- Feature Management: Toggle features on/off
- Log Viewer: Monitor bot activity and messages
- Analytics: Detailed usage statistics
- Settings: Configure bot parameters
- Username:
admin - Password:
admin
BOT_NAME=WhatsApp Bot
BOT_PREFIX=!
MONGODB_URI=mongodb://localhost:27017/whatsapp-bot
REDIS_URL=redis://localhost:6379
SESSION_PATH=./.wwebjs_authPORT=3001
MONGODB_URI=mongodb://localhost:27017/whatsapp-bot
REDIS_URL=redis://localhost:6379
JWT_SECRET=your-secret-keyGET /api/config/status- Get bot statusPOST /api/config/toggle-feature- Toggle featurePOST /api/config/restart- Restart botGET /api/config/features- List features
GET /api/logs- Get logsGET /api/logs/messages- Get message logsDELETE /api/logs- Clear logs
GET /api/analytics- Get analyticsGET /api/analytics/messages- Message analyticsGET /api/analytics/features- Feature analytics
- Limited automation frequency
- Transparent user notifications
- Secondary phone number recommended
- Regular session refresh
- Encrypted media storage
- GDPR/CCPA compliance
- User consent for data collection
- Secure API endpoints
pnpm run devpnpm run build
pnpm startdocker-compose up -d- Basic bot functionality
- Web interface with toggles
- Local testing
- Enhanced features
- Analytics dashboard
- Cloud deployment
- AI integration
- Advanced moderation
- Multi-group management
- React Native implementation
- Push notifications
- Mobile-specific features
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
MIT License - see LICENSE file for details.
This project uses whatsapp-web.js which may violate WhatsApp's Terms of Service. Use at your own risk and ensure compliance with WhatsApp's policies. The developers are not responsible for any account bans or violations.
For support and questions:
- Create an issue on GitHub
- Check the documentation in
/docs - Review the PRD for detailed specifications
Version: 1.0 Author: Udoh, Idopise Edwin Date: September 2025