A script to check the appointment slots.
By default, it runs every 2 minutes and check for visa slots at VFS website and notifies the user by SMS/call/Telegram.
The interval can be changed in the config.
- Clone the repo:
git clone https://github.com/ranjan-mohanty/vfs-appointment-bot.git
- Move into the repo:
cd vfs_appointment_bot
- Update the config file (
config/config.ini
) with VFS, Twilio, Telegram credentials. Note that you can use either telegram, or twilio, or both. This can be specified withuse_telegram
anduse_twilio
config flags in same file. - Create a new virtual environment:
python3 -m venv venv
or by using condaconda create --name venv python=3.8
- Activate the environment (might differ a bit for windows and MacOS):
source venv/bin/activate
/conda activate venv
- Install the dependencies:
pip install -r requirements.txt
- Run the script:
python vfs_appointment_bot/vfs_appointment_bot.py '<vfs_centre>' '<visa_category>' '<visa_subcategory>'
OR
python vfs_appointment_bot/vfs_appointment_bot.py
It will take the values as input from the user
** Please refer to the screenshot for more details regarding the inputs.
- Install Firefox Browser on your machine if not already installed.
geckodriver
(instructions to install geckodriver are written below)- Setup client for Twilio/Telegram or both:
- Create an account on Twilio to get text and call alerts. Sign up here for a trial account to get credits upto worth $10, OR
- Create a new bot via Telegram and add it to a chat group where you want it to post messages to notify you. Check this simple tutorial out if you don't know how to create a new bot and get its credentials. Once bot is created you need to add its credentials in
config/config.ini
file.
-
Run these the commands:
- Linux (as an example) :
wget https://github.com/mozilla/geckodriver/releases/download/v0.18.0/geckodriver-v0.18.0-linux64.tar.gz
(You can find the download URL to the latest release of geckodriver on Github. Check out their latest release here for your machine.)
- Linux (as an example) :
-
Extract the file with
tar -xvzf geckodriver*
-
Make it executable (note this shouldn't be necessary, unless the unzipped file doesn't have the execute bits set):
chmod +x geckodriver
-
Add the driver to your PATH in ~/.bashrc so other tools can find it:
export PATH=$PATH:/path-to-extracted-file/geckodriver