-
-
Save trivedisorabh/65a9ff8a42948d1b5dc03b3f739859a9 to your computer and use it in GitHub Desktop.
Get an update on console as soon as a slot opens up in https://selfregistration.cowin.gov.in/ . Login to the website and then run this script on Console.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This script will alert you whenever some slot opens up on the given date within the given pincodes | |
// Change the pincodes to your needs as per your city | |
// Change the dateArr to add your convinent set of dates | |
// For further update do checkout http://twitter.com/debarko/ | |
// How To setup Video -> https://www.youtube.com/watch?v=3_N5FFegtI4 | |
// Steps to use | |
// 1. Update Config | |
// 2. Login to https://selfregistration.cowin.gov.in/ | |
// 3. Rigt Click on the website | |
// 4. Click on Inspect | |
// 5. Open the Console Tab on your Inspect window | |
// 6. Copy paste the contents of this entire file - cowin_schedule_v2.js | |
// 7. Press Enter | |
// It will run every 10 seconds and check for availability of slots. | |
// Config | |
// ------ | |
var pincodes = ["560076", "560062", "560020", "560078", "560001", "560017", "560027", "560064", "560071", "560084"]; | |
var dateArr = ["03-05-2021", "04-05-2021"]; | |
var trialCounter = 1; | |
const sleepNow = (delay) => new Promise((resolve) => setTimeout(resolve, delay)) | |
function httpGet(theUrl) | |
{ | |
var xmlHttp = new XMLHttpRequest(); | |
xmlHttp.open( "GET", theUrl, false ); // false for synchronous request | |
xmlHttp.send( null ); | |
return xmlHttp.responseText; | |
} | |
async function fetchByPincode() { | |
console.log("Check: ", trialCounter++); | |
for (i=0;i < pincodes.length; i++) { | |
for (j=0; j < dateArr.length; j++) { | |
url = "https://cdn-api.co-vin.in/api/v2/appointment/sessions/calendarByPin?pincode="+pincodes[i]+"&date="+dateArr[j]; | |
await sleepNow(1100); | |
a = httpGet(url); | |
try { | |
a = JSON.parse(a) | |
} catch(e) { | |
continue; | |
} | |
for (c in a.centers) { | |
for (s in a.centers[c].sessions) { | |
if (a.centers[c].sessions[s].min_age_limit < 45 && a.centers[c].sessions[s].available_capacity > 0) { | |
console.log("Trying Booking for", a.centers[c].pincode, a.centers[c].name, a.centers[c].sessions[s].available_capacity); | |
var audio = new Audio('https://media.geeksforgeeks.org/wp-content/uploads/20190531135120/beep.mp3'); | |
audio.play(); | |
} | |
} | |
} | |
} | |
} | |
await sleepNow(10000); | |
fetchByPincode(); | |
} | |
console.log('Script Initialising'); | |
fetchByPincode(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment