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
The EscapePod Python SDK for Cyb3rVector's EscapePod Extension Proxy

EscapePod Extension SDK for Python by cyb3rdog This is the EscapePod Python SDK for Cyb3rVector's EscapePod Extension Proxy. With this SDK, you can: m

cyb3rdog 3 Mar 07, 2022
NFT Generator: A modular NFT generator application

NFT Generator A simple passion project done with the role to learn a bit about h

2 Aug 30, 2022
LimitatiBot - A simple telegram bot to establish a conversation with a user without having to use private chats

🤖 LimitatiBot [0.2] LimitatiBot is a simple telegram bot to establish a convers

xMrPente 9 Dec 27, 2022
Discord bot for playing blindfold chess.

Albin Discord bot for playing blindfold chess written in Python. Albin takes the moves from chat and pushes them on the board without showing it. TODO

8 Oct 14, 2022
Roaster - this gui app + program bundle roasts.

Roaster - this gui app + program bundle roasts.

Harsh ADV) 1 Jan 04, 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

6 Dec 22, 2022
LavaAPI - A simple library for accepting payments and using the LAVA Wallet

This library was created to simplify the LAVA api provided on the official websi

Vlad Baccara 8 Dec 18, 2022
Telegram bot to stream videos in telegram voicechat for both groups and channels

Telegram bot to stream videos in telegram voicechat for both groups and channels. Supports live streams, YouTube videos and telegram media. With record stream support, Schedule streams, and many more

ALBY 9 Feb 20, 2022
Savecontentbot - Telegram Save Content Bot With Same more Features

Save Restricted Content Bot A simple telegram bot to save restricted content wit

Group Dc Bots 3 Jan 26, 2022
The most versatile torrent leecher and youtube-dl bot for telegram

TorToolkit Telegram So basically Tortoolkit is aimed to be the most versatile torrent leecher and youtube-dl bot for telegram. This bot is highly cust

αвιנтн 1 Nov 11, 2021
CryptoBar - A simple MenuBar app that shows the price of 3 cryptocurrencies

CryptoBar A very simple MenuBar app that shows the price of the following crypto

4 Jul 04, 2022
fhempy is a FHEM binding to write modules in Python language

fhempy (BETA) fhempy allows the usage of Python 3 (NOT 2!) language to write FHEM modules. Python 3.7 or higher is required, therefore I recommend usi

Dominik 27 Dec 14, 2022
Scrape the Twitter Frontend API without authentication.

Twitter Scraper 🇰🇷 Read Korean Version Twitter's API is annoying to work with, and has lots of limitations — luckily their frontend (JavaScript) has

Buğra İşgüzar 3.4k Jan 08, 2023
Discord Rich Presence for Team Fortress 2

TF2 Rich Presence Discord Rich Presence for Team Fortress 2 Detects current game state, queue info, playtime, and more Configurable, reliable, and per

Kataiser 33 Dec 31, 2022
This is a unofficial library for making bots in rubika.

rubika this is a unofficial library for making bots in rubika using this library you can make your own0 rubika bot and control that those bots that ma

Bahman 50 Jan 02, 2023
this is a telegram bot repository, that can stream video on telegram group video chat.

VIDEO STREAM BOT telegram bot project for streaming video on telegram video chat, powered by tgcalls and pyrogram 🛠 Commands: /vstream (reply to vide

levina 319 Aug 15, 2022
An API wrapper for Discord written in Python.

disnake A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. About disnake All the contributors and develop

557 Jan 05, 2023
Terraform Cloud CLI for Managing Workspace Terraform Versions

Terraform Cloud Version Manager This tiny script makes it easy to update the Terraform Version on all of the Workspaces inside Terraform Cloud. It wil

Robert Hafner 1 Jan 07, 2022
Simple web-based hcaptcha bypass

Hcaptcha-Bypass !!! If you found this useful, please click the STAR button !!! Simple web-based hcaptcha bypass Just a demonstration right now, and yo

Kieronia 4 Oct 06, 2021
Easy-apply-bot - A LinkedIn Easy Apply bot to help with my job search.

easy-apply-bot A LinkedIn Easy Apply bot to help with my job search. Getting Started First, clone the repository somewhere onto your computer, or down

Matthew Alunni 5 Dec 09, 2022