Obscure but simple way for checking the status of your Czech Visa application using selenium and telegram
This bot/scraper was created for two purposes:
-
Automation of a repetitive mundane task
-
Education
I have decided to share the code for same reasons. Also fun.
Consequently, there is a limit in the constructor so that it raises a ValueError when it tries to schedule the bot at more than two times per day.
I suspect that even that number might be an overkill.
Unix / macOS:
python3 -m Veezum
Windows:
py -m Veezum
-
Step 1: Setting up the Telegram bot
-
Download and install Telegram Messenger on your smartphone
-
Message @BotFather, and make a new bot using:
/newbot
-
Make note of the token for the HTTP API
-
You can read more about bots and Telegram API here
-
-
Step 2: Install Veezum
-
Download and then install the latest release using:
pip install Veezum-<Version Number>.tar.gz
-
Build your own using python -m build
-
-
Step 3: Set up the Environment Variables
-
Veezum scraper gets all the attributes required passed through with the Environment Variables
-
veezum_ids - List of IDs provided by the Embassy, in format:
ABCD123456879,ABCD123456789
-
veezum_times - List of times for the bot to execute at, in format:
08:00,16:00
-
veezum_token - Telegram HTTP API Token
-
-
-
Step 4: Profit?
- Start the bot and pray
schedule
selenium
requests
webdriver_manager
optional:
pytest
-
Improve Exception / Error Handling
-
Fix occasional socket issue
-
Fix unnecessary waits
-
Improve and simplify testing
-
Expand test cases
-
Refactor code for repetition
-