A Python bot that monitors Lovable.dev status page and posts incident updates to a Telegram channel.
- Monitors RSS feed from status.lovable.dev every 5 minutes
- Posts new incidents to Telegram channel
- Updates existing incidents when status changes
- SQLite database to track posted incidents
- Docker support for easy deployment
- Comprehensive logging
- Python 3.11+ (for local deployment)
- Docker & Docker Compose (for containerized deployment)
- Telegram Bot Token
- Telegram Channel ID
- Open Telegram and search for @BotFather
- Send
/newbotand follow the instructions - Save the bot token you receive
- Add your bot as an administrator to your Telegram channel
- Send a message to the channel
- Visit:
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates - Look for the
"chat":{"id":field - this is your channel ID
-
Copy the example environment file:
cp .env.example .env
-
Edit
.envand add your credentials:TELEGRAM_BOT_TOKEN=your_bot_token_here TELEGRAM_CHANNEL_ID=@your_channel_or_-123456789
# Build and run with Docker Compose
docker-compose up -d
# View logs
docker-compose logs -f
# Stop the bot
docker-compose down# Install dependencies
pip install -r requirements.txt
# Run the bot
python main.py- Create a service file
/etc/systemd/system/lovable-status-bot.service:
[Unit]
Description=Lovable Status Telegram Bot
After=network.target
[Service]
Type=simple
User=your-user
WorkingDirectory=/path/to/lovable-status-bot
Environment="PATH=/usr/local/bin:/usr/bin"
ExecStart=/usr/bin/python3 /path/to/lovable-status-bot/main.py
Restart=always
[Install]
WantedBy=multi-user.target- Enable and start the service:
sudo systemctl enable lovable-status-bot
sudo systemctl start lovable-status-bot| Environment Variable | Description | Default |
|---|---|---|
| TELEGRAM_BOT_TOKEN | Your Telegram bot token | Required |
| TELEGRAM_CHANNEL_ID | Your Telegram channel ID | Required |
| RSS_FEED_URL | Status page RSS feed URL | https://status.lovable.dev/feed.rss |
| CHECK_INTERVAL_MINUTES | How often to check for updates | 5 |
| DATABASE_PATH | SQLite database file path | lovable_status.db |
| LOG_LEVEL | Logging level (DEBUG/INFO/WARNING/ERROR) | INFO |
The bot posts incidents in the following format:
🚨 INCIDENT: Chat requests failing
🔍 Status: Identified
📝 Description: We are currently experiencing a large amount of chat requests failing. The issue is being fixed.
🔗 View Details
⏰ Updated: 2025-07-18 13:27 UTC
Status emojis:
- ✅ Resolved
- 🔍 Identified
- 👀 Monitoring
- 🔎 Investigating
- ❓ Unknown
- Check bot token is correct
- Ensure bot is admin in the channel
- Verify channel ID (use @username for public channels or -123456789 for private)
- Check logs for errors
- Delete
lovable_status.dbto reset the database - Ensure write permissions in the directory
- Check internet connectivity
- Verify RSS feed URL is accessible
- Check Telegram API status
python -m pytest tests/- Status filtering by severity
- Multiple channel support
- Custom message templates
- Webhook support for instant updates
MIT