- Please make sure that your laptop/computer does not switch off display or go to sleep. Change settings to never got to sleep!
- On consecutive runs, please kill the previous chrome window, else the program will give an error!
- Install dependencies by executing "pip install -r requirements.txt" by changing folder to "src".
- Before doing anything, install google messages on your android (For iOS device, follow Setup_iOS.pdf)
- Make it your default messaging application
- Go to the 3 dots and select messages for Web
- Go to terminal and run "python.exe main.py". You can also have a "settings.txt" in the same folder to run the automation by picking up values from settings.txt (This is the recommended way!)
- Input all info
- When running for the first time, the Google messages window will open from a Google Chrome window, scan the QR code there from your phone google messages application
- Yenjoy!
- Please make sure that your laptop/computer does not switch off display or go to sleep. Change settings to never got to sleep!
- On consecutive runs, please kill the previous chrome window, else the program will give an error!
- Before doing anything, install google messages on your android (For iOS device, follow Setup_iOS.pdf)
- Make it your default messaging application
- Go to the 3 dots and select messages for Web
- Go to command prompt and run "main.exe". You can also have a "settings.txt" in the same folder to run the automation by picking up values from settings.txt (This is the recommended way!)
- Input all info
- When running for the first time, the Google messages window will open from a Google Chrome window, scan the QR code there from your phone google messages application
- Yenjoy!
===== Configuration options in settings.txt =====
Those in bold are Mandatory
Phone: Valid, numeric phone number that will receive OTP
State: The state to filter upon
District: The district to filter upon
Age: Only 2 values, "18+" or "45+" (Yes, add the plus sign too)
Name: Exact character matched name, that is there on the schedule page
Covishield: Whether to filter on Covishield
Covaxin: Whether to filter on Covaxin
Sputnik: Whether to filter on Sputnik
Paid: Whether to filter on Paid
Free: Whether to filter on Free
Hospital: A part of the hospital name. For example, "Nanavati" or "Kokilaben"
Pin: The pin code to filter by.
Slot: The time slot to book at. Numerical value between 1 and 4. 1 corresponds to 9am to 11am, 2 corresponds to 11am to 1pm,
3 corresponds to 1pm to 3pm and 4 corresponds to 3pm to 5pm
Mode: "Ultra" or "Normal". Ultra is fast refreshes in case if the slot is in a
heavily occupied territory, and "Normal" is slower, and refreshes the page after
each check
Dose: The dose number. Has to be either 1 or 2. Defaults to 1.
Device: You mobile device, whether it is "iOS" or "Android". Any other value will lead to an error
Refresh: The time before a "Refresh" is done to check slots. If not provided, defaults to 1. Can even be a
floating point value, such as 0.25.
Browser: The browser you want to use. Either "Chrome" or "Firefox". Defaults to Chrome.
OTP: Either to manually enter the OTP or to automate it. Values are "Auto" or "Manual" Defaults to "Auto".
Proxy: Whether to use Proxy or not.
Please Note: The portal rate limits if there are way too many searches in a short duration. The ideal time is 5 seconds per search. This can lead to slots being booked, therefore, even with the bot there is a chance that you may not get the slot.
If you know the timing when the slots will open, the below Chrome extension is the best bet.
Another way to automate without the automated logging-in and out is: https://chrome.google.com/webstore/detail/cowin-bot/ipdhilmkmmbfeilncgchfdabkpnhbeog
You can run my automation in one session and this in another for maximizing chances because auto-login takes around 30 seconds to re-login every 15 minutes.