A sophisticated AI-powered message forwarding system that intelligently automates cross-platform communication using advanced web automation and machine learning capabilities.
The Message Auto-Forwarding AI Agent is an enterprise-grade solution designed to streamline communication workflows across multiple messaging platforms. By leveraging Selenium-based web automation and intelligent filtering algorithms, this system provides seamless message routing with minimal manual intervention.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β USER INTERFACE LAYER β
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββ€
β Web Dashboard β REST API β CLI Interface β WebSocket Server β
βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β APPLICATION LAYER β
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββ€
β Authentication β Rule Engine β Task Scheduler β AI Processing Engine β
β Service β β β β
βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CORE SERVICES β
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββ€
β Message Handler β Filter Engine β Message Router β Health Monitor β
β β β β β
βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PLATFORM CONNECTORS β
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββ€
β Telegram β WhatsApp β Slack β Discord β
β Connector β Connector β Connector β Connector β
βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DATA LAYER β
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββ€
β PostgreSQL β Redis Cache β Log Storage β File Storage β
β Database β β β β
βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β EXTERNAL PLATFORMS β
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββ€
β Telegram β WhatsApp Web β Slack Workspace β Discord Server β
β API β β β β
βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββββββ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Source Platformβ β Platform β β AI Content β
β βββββΆβ Connector βββββΆβ Analyzer β
β β’ Telegram β β β β β
β β’ WhatsApp β β β’ Extract β β β’ Classificationβ
β β’ Slack β β β’ Parse β β β’ Sentiment β
β β’ Discord β β β’ Normalize β β β’ Priority β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Target Platform β β Message β β Filter Engine β
β ββββββ Router ββββββ β
β β’ Telegram β β β β β’ Keyword Match β
β β’ WhatsApp β β β’ Queue β β β’ Sender Rules β
β β’ Slack β β β’ Retry β β β’ Time Windows β
β β’ Discord β β β’ Track β β β’ Custom Logic β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MONITORING & LOGGING β
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββββββ€
β Delivery Status β Performance β Error Tracking & Analytics β
β β’ Success/Fail β β’ Latency β β’ Failed Messages β
β β’ Retry Count β β’ Throughput β β’ System Health β
β β’ Timestamps β β’ Queue Size β β’ Usage Statistics β
βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββββββββββ
INPUT SOURCES PROCESSING PIPELINE OUTPUT DESTINATIONS
βββββββββββββββ βββββββββββββββββββββββ βββββββββββββββ
β Telegram ββββββββββββββΆβ βββββββββββββΆβ Telegram β
β Messages β β Message β β Channels β
βββββββββββββββ β Ingestion β βββββββββββββββ
β β
βββββββββββββββ β βββββββββββββββββββ β βββββββββββββββ
β WhatsApp ββββββββββββββΆβ β AI Analysis β βββββββββββββΆβ WhatsApp β
β Messages β β β β’ NLP β β β Contacts β
βββββββββββββββ β β β’ Classificationβ β βββββββββββββββ
β β β’ Sentiment β β
βββββββββββββββ β βββββββββββββββββββ β βββββββββββββββ
β Slack ββββββββββββββΆβ βββββββββββββΆβ Slack β
β Messages β β βββββββββββββββββββ β β Channels β
βββββββββββββββ β β Rule Engine β β βββββββββββββββ
β β β’ Conditions β β
βββββββββββββββ β β β’ Filters β β βββββββββββββββ
β Discord ββββββββββββββΆβ β β’ Routing Logic β βββββββββββββΆβ Discord β
β Messages β β βββββββββββββββββββ β β Servers β
βββββββββββββββ β β βββββββββββββββ
β βββββββββββββββββββ β
β β Priority Queue β β
β β β’ High Priority β β
β β β’ Normal Queue β β
β β β’ Retry Queue β β
β βββββββββββββββββββ β
βββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββ
β STORAGE & ANALYTICS β
βββββββββββββββββββββββ€
β β’ Message Logs β
β β’ Performance Data β
β β’ Error Reports β
β β’ Usage Statistics β
βββββββββββββββββββββββ
WEB INTERFACE API LAYER BUSINESS LOGIC
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Dashboard ββββββββββββββΆβ REST API βββββββββββββΆβ Rule Engine β
β UI β β Endpoints β β β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Config ββββββββββββββΆβ WebSocket βββββββββββββΆβ AI β
β Panel β β Handler β β Processor β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Analytics ββββββββββββββΆβ Webhook βββββββββββββΆβ Job β
β View β β Receiver β β Scheduler β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β
βΌ
INTEGRATION LAYER STORAGE LAYER
βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Selenium β β Telegram β β Slack API β β PostgreSQL β
β WebDriver β β Bot API β β Client β β Database β
βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ
β β β β
ββββββββββββββββββΌβββββββββββββββββ β
β β
βββββββββββββββ βββββββββββββββ
β Discord API β β Redis β
β Client β β Cache β
βββββββββββββββ βββββββββββββββ
β
βββββββββββββββ
β File β
β Storage β
βββββββββββββββ
- Smart Content Analysis: AI-driven message classification and routing
- Context-Aware Filtering: Intelligent message prioritization based on content and sender patterns
- Adaptive Learning: System improves forwarding accuracy over time
- Telegram: Full API integration with bot support
- WhatsApp: Web-based automation with message parsing
- Slack: Workspace integration with channel management
- Discord: Server and DM forwarding capabilities
- Rule-Based Forwarding: Create complex forwarding rules with conditional logic
- Keyword Filtering: Advanced pattern matching and regex support
- Sender Whitelisting/Blacklisting: Granular control over message sources
- Time-Based Scheduling: Configure forwarding windows and frequency limits
- Web Dashboard: Intuitive interface for configuration and monitoring
- Real-Time Analytics: Message flow statistics and performance metrics
- Comprehensive Logging: Detailed audit trails with error tracking
- Health Monitoring: System status and platform connectivity checks
- Backend Framework: Flask (Python 3.8+)
- Database: PostgreSQL with SQLAlchemy ORM
- Web Automation: Selenium WebDriver with Chrome/Firefox support
- Task Scheduling: APScheduler for robust job management
- Frontend: Bootstrap 5, Chart.js for analytics
- Security: JWT authentication, encrypted credential storage
- Python: 3.8 or higher
- Database: PostgreSQL 12+
- Browser: Chrome 90+ or Firefox 88+
- Memory: Minimum 2GB RAM recommended
- Storage: 1GB free space for logs and temporary files
-
Clone the repository
git clone https://github.com/danieladdisonorg/Message-Auto-Forwarding-AI-Agent.git
-
Navigate to project directory
cd Message-Auto-Forwarding-AI-Agent
-
Create virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
export DATABASE_URL="postgresql://username:password@localhost:5432/message_forwarder" export SESSION_SECRET="your-secure-session-key-here" export FLASK_ENV="production" export LOG_LEVEL="INFO"
-
Initialize database
python -c "from app import create_app, db; app = create_app(); app.app_context().push(); db.create_all()"
-
Configure WebDriver
- Download ChromeDriver or GeckoDriver
- Add driver executable to PATH or specify path in configuration
-
Start the application
python main.py
-
Access the web interface
- Open your browser and navigate to
http://localhost:5000
- Complete the initial setup wizard
- Configure your messaging platforms
- Open your browser and navigate to
- Navigate to Platform Configuration
- Add New Platform: Select from supported platforms
- Authentication: Follow platform-specific authentication steps
- Test Connection: Verify connectivity before proceeding
- Access Rules Management
- Define Source and Destination: Select platforms and channels
- Set Filters: Configure keyword filters, sender rules, and conditions
- Schedule: Set forwarding frequency and time windows
- Activate Rule: Enable the forwarding rule
- Dashboard: Real-time message flow statistics
- Logs: Detailed forwarding history and error reports
- Performance: System health and response time metrics
The system provides RESTful APIs for programmatic access:
GET /api/platforms
- List configured platformsPOST /api/rules
- Create forwarding rulesGET /api/logs
- Retrieve forwarding logsGET /api/health
- System health check
Full API documentation available at /api/docs
when running.
- Credential Encryption: All platform credentials are encrypted at rest
- Secure Sessions: JWT-based authentication with configurable expiration
- Rate Limiting: Built-in protection against API abuse
- Audit Logging: Comprehensive security event logging
WebDriver Connection Errors
- Ensure browser and driver versions are compatible
- Check that the driver executable is in PATH
Database Connection Issues
- Verify PostgreSQL service is running
- Check DATABASE_URL format and credentials
Platform Authentication Failures
- Review platform-specific authentication requirements
- Check for expired tokens or changed credentials
We welcome contributions! Please see our Contributing Guidelines for details on:
- Code style and standards
- Pull request process
- Issue reporting
- Development setup
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
See CHANGELOG.md for a detailed history of changes and updates.