Tracker to check the covid shot slot availability in India and send mobile alerts via Twilio Messaging Service.

Overview

Cowin-Slot-Tracker

Tracker to check the covid vaccine slot availability in India and send mobile notifications through Twilio Messaging Service.

Requirements

Docker must be installed in the local system. Refer docker documentation to set it locally based on your machine specification. If you are a Windows user and wants to setup docker, follow this video

How to use?

There are two parts to this system

  1. Pinging the public COWIN API to get district wise data and checking for availability, every 15 minutes.
  2. Relaying this information to the user's mobile via Twilio Messaging Service. For that, one must configure Twilio
    1. Sign up on Twilio using your email id. After verifying your email log into the Twilio Dashboard. For this purpose, we will remain on free trial.
    2. Once you are in the dashboard, click Get a trial phone number.
    3. Under Project Info, you can find the ACCOUNT SID, AUTH TOKEN and PHONE NUMBER (Twilio Phone Number and not yours). Make a note of these numbers.
  3. After successfully completing above steps, you are good to go.

Once all the above requirements are met, do the following

  1. Git clone this repository(if you are techie enough), otherwise download the repository by clicking on Download ZIP under Code.
  2. Open Terminal and change your directory to the folder you have just cloned/ downloaded. (Remember to extract the .zip file if you have downloaded it)
  3. Make sure Docker Desktop is running.
  4. Modify settings.json with your settings.
  5. Run docker build -t covin --rm .
  6. Run docker run -it --name covin-schedule --rm covin
  7. If there is a slot available in the district code you have provided, you will receive an SMS on your phone.

If you want to change settings, rebuild the image and run(Step 5)

Example Response

sample settings.json

{
  "districtId": "391",
  "authToken": "09cbfca2asdad5ae4fe991ac8858adca1b",
  "accountSID": "AC6b24b0sdasuef906ed07sdfasd4e8d",
  "twilioPhone": "+1xxxxxxxxx",
  "selfPhone": "+919xxxxxxxx",
  "userAge": "45"
}

Response

Slots Available at 16 places.
SAKUR RH 2, Samsherpur RH, NIRAMAY HOSPITAL, Rahata RH, Chichondi Patil RH, Sakur RH, WAMBORI RH 2, 
Wambori RH, JAMKHED RH 2, Topkhana HP, Rajur RH, SHRIRAMPUR RH 2, CHICHONDI PATIL RH 2, TAKALI DHOKESHWAR RH 2, 
RAJUR RH 2, SAMSHERPUR RH 2

Here 391 is the district id for Ahmednagar, Maharashtra

Sample District Codes in Kerala

  • 301: Alappuzha
  • 307: Ernakulam
  • 306: Idukki
  • 297: Kannur
  • 295: Kasaragod
  • 298: Kollam
  • 304: Kottayam
  • 305: Kozhikode
  • 302: Malappuram
  • 308: Palakkad
  • 300: Pathanamthitta
  • 296: Thiruvananthapuram
  • 303: Thrissur
  • 299: Wayanad

Other States

To find District ID for other states:

Got to Cowin Portal in the browser

  • Open Network tab in browser
  • Search for vaccine availabilty in portal
  • Check Network tab for requests
  • Find district_id property value from the requests
You might also like...
Get Notified about vaccine availability in your location on email & sms ✉️! Vaccinator Octocat tracks & sends personalised vaccine info everday. Go get your shot ! 💉
Get Notified about vaccine availability in your location on email & sms ✉️! Vaccinator Octocat tracks & sends personalised vaccine info everday. Go get your shot ! 💉

Vaccinater Get Notified about vaccine availability in your location on email & sms ✉️ ! Vaccinator Octocat tracks & sends personalised vaccine info ev

A Python module for communicating with the Twilio API and generating TwiML.

twilio-python The default branch name for this repository has been changed to main as of 07/27/2020. Documentation The documentation for the Twilio AP

A Python module for communicating with the Twilio API and generating TwiML.

twilio-python The default branch name for this repository has been changed to main as of 07/27/2020. Documentation The documentation for the Twilio AP

Whatsapp-bot - Whatsapp chatbot build with python and twilio
Whatsapp-bot - Whatsapp chatbot build with python and twilio

Whatsapp-bot This is a Whatsapp Chatbot that responds with quotes, reply owners

Hellomotoot - PSTN Mastodon Client using Mastodon.py and the Twilio API

Hello MoToot PSTN Mastodon Client using Mastodon.py and the Twilio API. Allows f

The Official Twilio SendGrid Led, Community Driven Python API Library
The Official Twilio SendGrid Led, Community Driven Python API Library

The default branch name for this repository has been changed to main as of 07/27/2020. This library allows you to quickly and easily use the SendGrid

This project, search all entities related to A2P in twilio

Mirror A2P Twilio This project, search all entities related to A2P in twilio (phone numbers, messaging services, campaign, A2P brand information and P

universal messaging & notifications api
universal messaging & notifications api

Pronounced "boat-shahft" What is botschaft? Botschaft is unified messaging & notifications appliance. Want to text yourself when a long-running task c

Secret messaging app which you can use to communicate with your friends by encrypting / decrypting secret messages or sending secret message through mail.

Secret-Whisper A Secret messaging app which you can use to communicate with your friends by encrypting / decrypting secret messages 🤫 or sending secr

Comments
  • removed problems with empty centers, added json file for ease of use

    removed problems with empty centers, added json file for ease of use

    Bug Description

    • Some districts like Kottayam(304) have no centers, so payload would be {"centers": []}
    • Thus checkAvailability to return False, False instead of string as expected,
    • So if (len(available) > 0) would throw TypeError

    Bug Fix

    • Change if len(available) > 0 to if available

    Feature

    • A settings.json can be provided as an alternative of passing 5 shell arguments.
    • If settings file is detected, settings would be loaded from that file, else shell arguments would be used.
    • A settings.example.json file is provided with required schema.
    opened by UKnowWhoIm 7
  • error showing up

    error showing up

    raceback (most recent call last): File "covin_slot_tracker.py", line 97, in data1 = pingCOWIN(date,DISTRICT_ID) File "covin_slot_tracker.py", line 40, in pingCOWIN return json.loads(response.text) File "/usr/local/lib/python3.8/json/init.py", line 357, in loads return _default_decoder.decode(s) File "/usr/local/lib/python3.8/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/lib/python3.8/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

    opened by jithindayal95 1
  • Ability to use pincode or district id to get slot details

    Ability to use pincode or district id to get slot details

    Getting district IDs for different places is hard. Implemented Pincode to district id conversion to make it easier for people. At the moment district id usage isn't deprecated. So the system will work both on Pincode or district id.

    opened by rohit-anilkumar 0
  • Telegram bot created to send messages to individual users

    Telegram bot created to send messages to individual users

    A common bot has been created which a user doesn't have to set up, all they need to do is find their telegram id, input in their district and telegram if along with the age parameter that they need and they are set to get messages directly to their mobile. Also added on how to install Anaconda and how to run the program locally without using docker

    opened by trishh088 0
Owner
invalid username
Data Scientist at Tata Elxsi. Enthusiastic coder. Entrepreneur.Ex- Product and Engineering Lead at Continuum Labs.
invalid username
Light weight Scripts and Apps for checking availability of Covid Vaccines in India. Notifies when vaccine becomes avialable in your area.

vaccine-checker Light weight Scripts and Apps for checking availability of Covid Vaccines in India. Notifies when vaccine becomes avialable in your ar

Abishek V Ashok 8 Jun 16, 2021
This very basic script can be used to automate COVID-19 vaccination slot booking on India's Co-WIN Platform.

COVID-19 Vaccination Slot Booking Script This very basic CLI based script can be used to automate covid vaccination slot booking on Co-WIN Platform. I

null 605 Dec 14, 2022
Telegram bot to check availability of vaccination slots in India.

cowincheckbot Telegram bot to check availability of vaccination slots in India. Setup Install requirements using pip3 install -r requirements.txt Crea

Muhammed Shameem 10 Jun 11, 2022
CoWIN Vaccination slot booking telegram bot with auto captcha resolver & alerting feature.Now, never miss a slot.

COWIN VACCINATION SLOT AUTO BOOKING (Bot with captcha solving & alerting capabilities. Never miss the vaccine slot.) June-10-2021/ 0030 hrs: 23 succes

Shashank Bafna 17 Nov 12, 2022
And now, for the first time, you can send alerts via action from ArcSight ESM Console to the TheHive when Correlation Rules are triggered.

ArcSight Integration with TheHive And now, for the first time, you can send alerts via action from ArcSight ESM Console to the TheHive when Correlatio

Amir Hossein Zargaran 3 Jan 19, 2022
Texting service to receive current air quality conditions and maps, powered by AirNow, Twilio, and AWS

The Air Quality Bot is generally available by texting a zip code (and optionally the word "map") to (415) 212-4229. The bot will respond with the late

Alex Laird 8 Oct 16, 2022
Faster Twitch Alerts is a highly customizable, lightning-fast alternative to Twitch's slow mobile notification system

Faster Twitch Alerts What is "Faster Twitch Alerts"? Faster Twitch Alerts is a highly customizable, lightning-fast alternative to Twitch's slow mobile

null 6 Dec 22, 2022
MCNameBot is a fast discord bot that is used to check the availability of a Minecraft name with a simple command.

MCNameBot MCNameBot is a fast discord bot that is used to check the availability of a Minecraft name with a simple command. If you would like to just

Killin 2 Oct 11, 2022
This automation protect against subdomain takeover on AWS env which also send alerts on slack.

AWS_Subdomain_Takeover_Detector Purpose The purpose of this automation is to detect misconfigured Route53 entries which are vulnerable to subdomain ta

Puneet Kumar Maurya 8 May 18, 2022
Send OpenWeatherMap alerts (One Call API) to telegram users.

OpenWeatherMap Telegram Alert Send OpenWeatherMap alerts (One Call API) to telegram users. Installation Requirements: $ apt install python3-yaml pytho

Michael Hacker 1 Jun 4, 2022