A powerful Discord bot for monitoring multiple websites, perfect for companies managing 100+ websites. The bot tracks changes in website content, DNS records, IP addresses, and captures screenshots, providing real-time alerts when changes are detected.
-
🔍 Comprehensive Monitoring
- Website content changes
- DNS record changes
- IP address changes
- Response time tracking
- Status code monitoring
- Screenshot capture
-
📊 Scalable Performance
- Handles 100+ websites efficiently
- Concurrent monitoring
- Optimized resource usage
- Docker containerization
-
🚨 Smart Alerts
- Real-time change notifications
- Detailed change descriptions
- Visual comparisons with screenshots
- Customizable check intervals
-
📱 User-Friendly Interface
- Easy-to-use Discord commands
- Paginated website listings
- Detailed status reports
- Interactive navigation
- Docker and Docker Compose
- Discord Bot Token
- Discord Server with a designated channel for alerts
-
Clone the repository:
git clone https://github.com/Xer0bit/Website-Monitor-Real-Time-Discord-bot.git cd Website-Monitor-Real-Time-Discord-bot
-
Configure the bot:
- Copy
.env.exampleto.env - Add your Discord bot token and channel ID:
DISCORD_TOKEN=your_discord_bot_token_here DISCORD_CHANNEL_ID=your_channel_id_here
- Copy
-
Build and run with Docker:
docker-compose up --build
-
!add [url] [check_interval]- Add a website to monitorurl: Website URLcheck_interval: Check interval in minutes (default: 60)
-
!remove [url]- Remove a website from monitoring -
!list- Show all monitored websites- Displays websites in paginated form
- Shows status and last check time
-
!status [url]- Get detailed status of a specific website- Shows IP, DNS, response time, and screenshot
- Displays any detected changes
The bot is containerized using Docker for easy deployment and scaling:
version: '3.8'
services:
website-monitor:
build: .
volumes:
- ./screenshots:/app/screenshots
- ./websites.db:/app/websites.db
environment:
- DISCORD_TOKEN=${DISCORD_TOKEN}
- DISCORD_CHANNEL_ID=${DISCORD_CHANNEL_ID}
restart: unless-stopped-
Concurrent Monitoring
- Asynchronous website checks
- Parallel processing of multiple websites
- Efficient resource utilization
-
Smart Change Detection
- Ignores dynamic content
- Reduces false positives
- Configurable sensitivity
-
Resource Management
- Automatic cleanup of old screenshots
- Efficient database operations
- Memory usage optimization
-
Monitoring Intervals
- Recommended minimum: 5 minutes
- High-priority sites: 5-15 minutes
- Standard sites: 30-60 minutes
-
Screenshot Management
- Screenshots are stored in
./screenshots - Regularly backup important screenshots
- Old screenshots are automatically cleaned up
- Screenshots are stored in
-
Error Handling
- Automatic retry on temporary failures
- Detailed error reporting
- Graceful degradation
-
Connection Issues
- Check your network connection
- Verify website accessibility
- Check DNS configuration
-
Bot Not Responding
- Verify Discord token
- Check channel permissions
- Review bot logs
-
High Resource Usage
- Adjust monitoring intervals
- Reduce concurrent checks
- Update Docker resources
For issues and feature requests, please open an issue on GitHub.