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
A superb Telegram VoiceChat Player. Powered by FalconRoBo.

π•±π–†π–‘π–ˆπ–”π–“π•Έπ–šπ–˜π–Žπ–ˆ A sα΄œα΄˜α΄‡Κ€Κ™ Tα΄‡ΚŸα΄‡Ι’Κ€α΄€α΄ VᴏΙͺᴄᴇCΚœα΄€α΄› PΚŸα΄€Κα΄‡Κ€, ᴍᴀᴅᴇ ᴜsΙͺΙ΄Ι’ Lᴀᴛᴇsα΄› PΚα΄›Κœα΄Ι΄ α΄€Ι΄α΄… Pʏʀᴏɒʀᴀᴍ. π‘·π’π’˜π’†π’“π’†π’… π’ƒπ’š 𝑭𝒂𝒍𝒄𝒐𝒏𝑹𝒐𝑩𝒐 FalconMusic

FalconRoBo 2 Oct 21, 2022
GUI Pancakeswap V2 and Uniswap V3 trading client (and bot)MOST ADVANCE TRADING BOT SUPPORT WINDOWS LINUX MAC

GUI Pancakeswap 2 and Uniswap 3 trading client (and bot) (MOST ADVANCE TRADING BOT SUPPORT WINDOWS LINUX MAC) UPDATE: MUTI TRADE TOKEN ENABLE ,TRADE 1

2 Dec 27, 2021
(@Tablada32BOT is my bot in twitter) This is a simple bot, its main and only function is to reply to tweets where they mention their bot with their @

Remember If you are going to host your twitter bot on a page where they can read your code, I recommend that you create an .env file and put your twit

3 Jun 04, 2021
Python library for Seeedstudio Grove devices

grove.py Python library for Seeedstudio Grove Devices on embeded Linux platform, especially good on below platforms: Coral Dev Board (Wiki) NVIDIA Jet

Seeed Studio 123 Dec 17, 2022
A Telegram Bot which notifies the user when a vaccine is available on CoWin Platform.

Cowin Vaccine Availability Notifier Telegram Bot A bot that notifies the available vaccines at given district in realtime. Introduction β€’ Requirements

Arham Shah 7 Jul 31, 2021
Shedding a new skin on Dis-Snek's commands.

Molter - WIP Shedding a new skin on Dis-Snek's commands. Currently, its goals are to make message commands more similar to discord.py's message comman

Astrea 7 May 01, 2022
An Open Source ALL-In-One Telegram RoBot, that can do lot of things.

An Open Source ALL-In-One Telegram RoBot, that can do lot of things.

JOBIN 0 Dec 01, 2021
Discord py bot that plays magic the gathering.

Klunker Discord py bot that can play magic the gathering Bug Hunter Hello Bug Hunters. To help out with production of this bot, we need help catching

Aiden Castillo 0 Apr 25, 2022
Telephus is a connection pooled, low-level client API for Cassandra in Twisted python.

Telephus Son of Heracles who loved Cassandra. He went a little crazy, at one point. One might almost say he was twisted. Description Telephus is a con

Brandon Williams 93 Apr 29, 2021
Zendesk Ticket Viewer is a lightweight commandline client for fetching and displaying tickets from a Zendesk account provided by the user

Zendesk Ticket Viewer is a lightweight commandline client for fetching and displaying tickets from a Zendesk account provided by the user.

Parthesh Soni 1 Jan 24, 2022
Get-Phone-Number-Details-using-Python - To get the details of any number, we can use an amazing Python module known as phonenumbers.

Get-Phone-Number-Details-using-Python To get the details of any number, we can use an amazing Python module known as phonenumbers. We can use the amaz

Coding Taggers 1 Jan 01, 2022
Trading bot rienforcement with python

Trading_bot_rienforcement System: Ubuntu 16.04 GPU (GeForce GTX 1080 Ti) Instructions: In order to run the code: Make sure to clone the stable baselin

1 Oct 22, 2021
WhatsApp Api Python - This documentation aims to exemplify the use of Moorse Whatsapp API in Python

WhatsApp API Python ChatBot Este repositório contém uma aplicação que se utiliza

Moorse.io 3 Jan 08, 2022
This bot will automatically like and follow users that post under a specified hashtag

Instagram-bot This bot will automatically like and follow users that post under a specified hashtag Dependencies Java JDK Selenium Updated version of

Makana Edwards 1 Nov 04, 2021
Declarative assertions for AWS

AWSsert AWSsert is a Python library providing declarative assertions about AWS resources to your tests. Installation Use the package manager pip to in

19 Jan 04, 2022
Using Streamlit to build a simple UI on top of the OpenSea API

OpenSea API Explorer Using Streamlit to build a simple UI on top of the OpenSea API. 🀝 Contributing Contributions, issues and feature requests are we

Gavin Capriola 1 Jan 04, 2022
My Advent of Code solutions. I also upload videos of my solves: https://www.youtube.com/channel/UCuWLIm0l4sDpEe28t41WITA

My solutions to adventofcode.com puzzles. I post videos of me solving the puzzles in real-time at https://www.youtube.com/channel/UCuWLIm0l4sDpEe28t41

195 Jan 04, 2023
Telegram Group Chat Statistics With Python

Telegram Group Chat Statistics How to Run First add PYTHONPATH in repository root directory enviroment variable by running: export PYTHONPATH=${PWD}

Sina Nazem 3 Apr 18, 2022