Automatically monitors Wolt for product availability and sends instant push notifications to your phone via Telegram when the product becomes available.
- 🔍 Monitors multiple Wolt locations simultaneously
- 📱 Instant Telegram push notifications
- 💾 SQLite database tracking availability history
- ⏰ Configurable check intervals
- 🚀 Easy setup and configuration
- 📊 Detailed logging
- Python 3.8 or higher
- Windows PC (running 24/7)
- Telegram account
Open Command Prompt or PowerShell and navigate to the project directory:
cd C:\Users\D\Downloads\CODING\ProductTrackingCreate a virtual environment (recommended):
python -m venv venv
venv\Scripts\activateInstall dependencies:
pip install -r requirements.txtInstall Playwright browsers:
playwright install chromium- Open Telegram and search for
@BotFather - Send
/newbotcommand - Follow the prompts to create your bot
- Copy the bot token (looks like:
123456789:ABCdefGHIjklMNOpqrsTUVwxyz)
- Search for
@userinfoboton Telegram - Start a chat with it
- It will reply with your chat ID (a number like:
123456789)
Copy the example environment file:
copy .env.example .envEdit .env file and add your credentials:
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_CHAT_ID=your_chat_id_here
CHECK_INTERVAL_MINUTES=5
PRODUCT_NAME=Divlji crveni losos fileti s kožom MSC 150g
Run the location fetcher to get all 11 locations:
python fetch_locations.pyThis will output a configuration block. Copy it and update the LOCATIONS list in config.py.
Test that everything works:
python main.pyYou should receive a startup message on Telegram, and the script will start monitoring.
Press Ctrl+C to stop.
Simply run:
python main.pyKeep the terminal window open. The script will run continuously.
Create a batch file start_monitor.bat:
@echo off
cd C:\Users\D\Downloads\CODING\ProductTracking
call venv\Scripts\activate
python main.pyThen:
- Press
Win + R - Type
shell:startup - Create a shortcut to
start_monitor.batin this folder - The monitor will start automatically when Windows boots
- Open Task Scheduler
- Create Basic Task
- Set trigger: "At startup"
- Action: Start a program
- Program:
C:\Users\D\Downloads\CODING\ProductTracking\venv\Scripts\python.exe - Arguments:
main.py - Start in:
C:\Users\D\Downloads\CODING\ProductTracking
Edit config.py to customize:
CHECK_INTERVAL_MINUTES: How often to check (default: 5 minutes)LOCATIONS: List of Wolt locations to monitorPRODUCT_NAME: Name of the product to track
- Scheduler: Checks all locations every X minutes
- Scraper: Uses Playwright to load Wolt pages and check availability
- Database: Tracks availability history to detect changes
- Notifier: Sends Telegram notification when product becomes available
You'll receive notifications when:
- ✅ Monitor starts up
- 🎉 Product becomes available at any location
- ❌ Errors occur (optional)
All activity is logged to:
- Console output
product_monitor.logfile
Make sure you created the .env file and added your bot token.
- Check your bot token is correct
- Check your internet connection
- Make sure bot isn't blocked
- Check your internet connection
- Increase timeout in
scraper.py - Try running with
headless=Falseto see what's happening
- The Wolt page structure might have changed
- Check the scraper logic in
scraper.py - Run with
headless=Falseto debug
main.py- Main monitoring loopscraper.py- Web scraping logic for Woltnotifier.py- Telegram notification handlerdatabase.py- SQLite database modelsconfig.py- Configuration settingsfetch_locations.py- Utility to fetch all locationsrequirements.txt- Python dependencies.env- Your secret configuration (not committed to git)
- Never commit your
.envfile to git - Keep your bot token secret
- The
.gitignorefile protects sensitive files
If you encounter issues:
- Check the logs in
product_monitor.log - Verify your Telegram credentials
- Test internet connectivity
- Make sure Python and all dependencies are installed correctly
This project is for personal use to monitor product availability on Wolt.
Happy monitoring! 🎣