CoWIN Vaccination slot booking telegram bot with auto captcha resolver & alerting feature.Now, never miss a slot.

Overview

COWIN VACCINATION SLOT AUTO BOOKING

(Bot with captcha solving & alerting capabilities. Never miss the vaccine slot.)

June-10-2021/ 0030 hrs: 23 successfully booked, 34 still searching. PAN INDIA

Cowin-AutoBot

HOW IT WORKS

  • Your computer will act as a server to update messages & recieve messages from telegram bot.
  • This automation script, gathers the recieved messages from the user & checks the details on COWIN portal.
  • Your phone (Telegram app) will act as a client to recieve messages sent from the computer.
  • If your computer stops or your script stops on computer, you will not see any updates on telegram, neither it will search for any slots.
  • You need to constantly respond if you recieve any alerts on telegram as notification.


Personally, we have used this & we (me, Srishti) got vaccinated, hope it helps you as well.



This automation subscribes to the telegram bot. Once registered mobile number is entered, it gets the cowin-session using otp provided by the user. While maintaining the valid user session, it tries to find a vaccination slot for the selected user & selected calendar. It checks for preferences such as vaccine type, state, pincode, district, paid/free & whether to auto-book the slot or not. Once slot is found, it tries booking it by randomly selecting the slot & resolving the captcha.


Pre-requisites:

  1. Computer/Laptop/CPU - capable of running python & having access to internet.
  2. Internet connection - Only with Indian ISP providers.
  3. Smart phone - with telegram app
  4. Registered on COWIN-portal - Add all the non-vaccinated members in here.

Create BOT (in Telegram)

This is a one time activity. If you already have a bot & its token, you can proceed to Installation step.

  • On Mobile/Phone open telegram app:
    • Search for @BotFather userbot.
      • type /newbot
      • Enter any desired name for the bot
      • Enter the unique username for the bot
      • if username is valid, confirmation message from @BotFather with token should come. If not, keep on trying different usernames until you get the token message. Please see the image for clarification.
    • Once it is created, say hi to your bot.

Installation

This is a one time activity.

  1. Download the source code from the following link- - https://github.com/shashankbafna/cowin-vaccination-book-slot/archive/refs/heads/main.zip
  2. Unzip & Extract the zip downloaded.
  • if you are on windows 10 & have adminitrator rights:
    • right click on setup.ps1 & Run with PowerShell
    • Installation completed, you can skip all the below steps. Proceed to Startup, 2nd step.
  • else if you do not have windows 10 or Admin rights, continue following the below steps.
    1. Go inside the Extracted folder ->src
    2. Install latest python if not already present from the link mentioned in Pre-requisites - Do not forget to check Add Python 3.7 to Path/Environment variable while installing (MANDATORY)
    3. Go inside the Extracted folder ->src
    4. In the The Address bar, which is located at the top of File Explorer as shown below, displays the path of the currently selected folder, type "cmd" - image
    5. This will open the command prompt with the location of script src.
    6. Type the following command in command prompt (just opened in above step) to install the dependent packages to run this script. - pip install -r ../requirements.txt - Optional if you want to run above command to install above dependencies in a virtual env ->Only for advanced python users. - image

STARTUP Script (on computer):

If installation is done manually, proceed with step 1 else contine from step 2.

  1. Type below command in command prompt (already opened during installation) python ./Booking.py

    • Follow the on screen instructions after starting the script. image
  2. Goto Mobile telegram app:

    • Make sure, you have said hi to your newly created bot.
    • Search for user @CowinAutoBot & click or type /start. -> click SubscribeID link.
    • After that it should ask for bot token message, which you have recieved from @BotFather bot Check this screenshot for further clarification.

      MANDATORY (after startup)
  • MAKE SURE THAT SCRIPT Keeps RUNNING ON LAPTOP, else you will not see updates on telegram. You need to follow steps for "Startup" if script exits.
  • ALSO MAKE SURE TO ENTER OTP as asked in the telegram bot, else session will not continue, you may need to follow steps for "Startup" again.

    Now respond to your bot in telegram.


SELECTION & FEATURES:

  • Inputs:
    • In Telegram, your messages act as input to the script. Mind the caps/digits/case of characters while entering.
    • Index numbers are mentioned in front of the selections like in front of your name, in front of states, in front of districts etc.
    • Mostly, the inputs are one time effort, as once entered, this will be saved in a file for future run.
    • If timeout happens, i.e. user doesnot respond within 100 sec from the time when bot's message arrives.
      • Manual input can be given from keyboard but only on computer.
    • Below are the list of Inputs gathered for the first run.
      • Enter the phone number
      • Enter OTP
      • Enter comma seperated index numbers of beneficiares
      • Search using pincode or State/District
        • Enter pincodes/ Index number of State, followed by Index number of Districts.
      • How frequent the request should be sent to COWIN portal to find out the slot availability from APIs.
      • Search for a week from when? today, tomorrow or date?
      • Fee preferences? Free or Paid?
      • Auto booking? yes-please or no

Share and Feedback

I will not mind sharing a cup of coffee TEA

Must Read - 1st Para: https://apisetu.gov.in/public/marketplace/api/cowin/cowin-public-v2

Futurescope:

  1. As I had an ios phone, It was not possible to automate otps, however, it is possible to automate otp transmission via android.
    • This results in entering the otp every 15 mins, to continue the session for searching the slots.
    • This requires constant response from the user when notified either via computer beep or telegram notification.
  2. Inputs & outputs on telegram can be beautified, right now, I have just pushed them from console.
  3. Exception handling for inputs & url requests.

Special thanks to:

  1. pallupz: For sourcing the raw python code. : https://github.com/pallupz/covid-vaccine-booking/
  2. COWIN: For providing open APIs. : https://www.cowin.gov.in/
  3. Telegram: For providing open APIs. : https://web.telegram.org/
  4. Python: Life without you is not possible. : https://www.python.org/
  5. Lastly my wife: Srishti (@ournotesfromtheroads): For being my guinea pig :(https://www.instagram.com/ournotesfromtheroads/)

DISCLAIMER: USE IT AT YOUR OWN RISK.

  • This is a make-shift automation for booking the slot which was not possible manually due to the significant ratio for availability of vaccines & People in our country.
  • I am not a developer but an engineer/ Script writer. Consider this before making any comments or giving any advices.
  • Feel free to give suggestions, Also, please copy & enhance the code if you want.
    • Make sure to let me know, hopefully, I can also help.

Lastly, goes without saying: once you get your shot, please do help out any underprivileged people around you who may not have a laptop or the know-how. For instance any sort of domestic help, or the staff in your local grocery store, or literally the thousands of people who don't have the knowledge or luxury we do.

SCREENSHOTS:

Owner
Shashank Bafna
Shashank Bafna
Roblox-Account-Gen - A simple account generator not using paid solving services

Roblox Account Generator Star this if it helped to spread awareness! No 2captcha

x 1 Feb 17, 2022
The Main Pythonic Version Of Twig Using Nextcord

The Main Pythonic Version Of Twig Using Nextcord

8 Mar 21, 2022
KiKi bare dogs can share your joys and sorrows with you.

Kiki-FangLee-DiscordBot KiKi bare dogs can share your joys and sorrows with you. $help: Kiki will show you my talent, aw-aw. $list: Show Kiki's knowle

Fang Lee 0 Feb 12, 2022
KalmanFilterExercise - A Kalman Filter is a algorithmic filter that is used to estimate the state of an unknown variable

Kalman Filter Exercise What are Kalman Filters? A Kalman Filter is a algorithmic

4 Feb 26, 2022
Python client library for Postmark API

Postmarker Python client library for Postmark API. Gitter: https://gitter.im/Stranger6667/postmarker Installation Postmarker can be obtained with pip:

Dmitry Dygalo 109 Dec 13, 2022
An attempt to escape the horrible JIRA editor.

An attempt to escape the horrible JIRA editor. jira_filter.py is a pandoc filter that cleans up some of JIRA's html so that it can be converted to Mar

Stefan Matting 2 Feb 10, 2022
A collection of automation aids to connect various database systems into Lookout for Metrics

A collection of automation aids to connect various database systems into Lookout for Metrics

AWS Samples 3 Apr 28, 2022
A Discord bot made by QwertyIsCoding

QwertyBot QwertyBot A Discord bot made by QwertyIsCoding Explore the docs » View Demo . Report Bug . Request Feature About The Project This Discord bo

4 Oct 08, 2022
Injector/automatic translator (using deepL API) for Tsukihime Remake

deepLuna Extractor/Editor/Translator/Injector for Tsukihime Remake About deepLuna, from "deepL", the machine translation service, and "Luna", the name

30 Dec 15, 2022
This is telegram bot to generate string session for using user bots. You can see live bot in https://telegram.dog/string_session_Nsbot

TG String Session Generate Pyrogram String Session Using this bot. Demo Bot: Configs: API_HASH Get from Here. API_ID Get from Here. BOT_TOKEN Telegram

Anonymous 27 Oct 28, 2022
Automatic Video Library Manager for TV Shows

Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic. Dependen

1.5k Dec 22, 2022
A simple, infinitely scalable, SQS based queue.

SimpleQ A simple, infinitely scalable, SQS based queue. Meta Author: Randall Degges Email: [emai

Randall Degges 162 Dec 21, 2022
A Python library for the Docker Engine API

Docker SDK for Python A Python library for the Docker Engine API. It lets you do anything the docker command does, but from within Python apps – run c

Docker 6.1k Jan 03, 2023
See GitHub API on terminal

gitbees About gitbees uses the GitHub API to show user data and ``repos` Using Make sure you have a python interpreter and then python gitbees.py Lice

Marcello Belanda 1 Nov 29, 2021
Most Powerful Chatbot On Telegram Bot

About Hello, I am Lycia [リュキア], An Intelligent ChatBot. If You Are Feeling Lonely, You can Always Come to me and Chat With Me! How To Host The easiest

RedAura 8 May 26, 2021
Easy & powerful bot to check if your all Telegram bots are working or not. This bot status bot updates every 45 minutes & runs for 24x7 hours.

PowerfulBotStatus-IDN-C-X Easy & powerful bot to check if your all Telegram bots are working or not. This bot status bot updates every 45 minutes & ru

IDNCoderX 5 Oct 06, 2022
Asynchronous wrapper для Gismeteo.ru.

aiopygismeteo Асинхронная обёртка для Gismeteo.ru. Синхронная версия здесь. Установка python -m pip install -U aiopygismeteo Документация https://aiop

Almaz 6 Dec 08, 2022
TM1py is a Python package that wraps the TM1 REST API in a simple to use library.

By wrapping the IBM Planning Analytics (TM1) REST API in a concise Python framework, TM1py facilitates Python developments for TM1. Interacting with T

Cubewise CODE 147 Dec 15, 2022
Telegram group manager moderen and simple.

Upin Robot A Advanced Powerful, Smart And Intelligent Group Management Bot With New And Powerful Features ... Written with Pyrogram and Telethon... If

Muhammad Nawawi 3 Dec 23, 2021
Python wrapper for JeyyAPI

Async python wrapper for JeyyAPI

7 Dec 10, 2022