Giter VIP home page Giter VIP logo

doctoshotgun's Introduction

DOCTOSHOTGUN

This script lets you automatically book a vaccine slot on Doctolib in France and in Germany in the next seven days.

Python dependencies

  • woob
  • cloudscraper
  • dateutil
  • termcolor
  • colorama
  • playsound (optional)

How to use it

You need python3 for this script. If you don't have it, please install it first.

Install dependencies:

pip install -r requirements.txt

Run:

./doctoshotgun.py <country{fr,de}> <city> <email> [<password>]

Further optional arguments:

--debug, -d           show debug information
--pfizer, -z          select only Pfizer vaccine
--moderna, -m         select only Moderna vaccine
--janssen, -j         select only Janssen vaccine
--astrazeneca, -a     select only AstraZeneca vaccine
--only-second, -2     select only second dose
--only-third, -3      select only third dose
--patient PATIENT, -p PATIENT
                      give patient ID
--time-window TIME_WINDOW, -t TIME_WINDOW
                      set how many next days the script look for slots (default = 7)
--center CENTER, -c CENTER
                      filter centers
--center-regex CENTER_REGEX
                      filter centers by regex
--center-exclude CENTER_EXCLUDE, -x CENTER_EXCLUDE
                      exclude centers
--center-exclude-regex CENTER_EXCLUDE_REGEX
                      exclude centers by regex
--include-neighbor-city, -n
                      include neighboring cities
--start-date START_DATE
                      first date on which you want to book the first slot (format should be DD/MM/YYYY)
--end-date END_DATE   last date on which you want to book the first slot (format should be DD/MM/YYYY)
--dry-run             do not really book the slot
--code CODE           2FA code

With Docker

Build the image:

docker build . -t doctoshotgun

Run the container:

docker run -it doctoshotgun <country{fr,de}> <city> <email> [<password>]

Multiple cities

You can also look for slot in multiple cities at the same time. Cities must be separated by commas:

$ ./doctoshotgun.py <country{fr,de}> <city1>,<city2>,<city3> <email> [<password>]

Filter on centers

You can give name of centers in which you want specifically looking for:

$ ./doctoshotgun.py fr paris [email protected] \
      --center "Centre de Vaccination Covid 19 - Ville de Paris" \
      --center "Centre de Vaccination du 7eme arrondissement de Paris - Gymnase Camou"

Select patient

For doctolib accounts with more thant one patient, you can select patient just after launching the script:

$ ./doctoshotgun.py fr paris [email protected] PASSWORD
Available patients are:
* [0] Roger Philibert
* [1] Luce Philibert
For which patient do you want to book a slot?

You can also give the patient id as argument:

$ ./doctoshotgun.py fr paris [email protected] PASSWORD -p 1
Starting to look for vaccine slots for Luce Philibert in 1 next day(s) starting today...

Set time window

By default, the script looks for slots between now and next day at 23:59:59. If you belong to a category of patients that is allowed to book a slot in a more distant future, you can expand the time window. For exemple, if you want to search in the next 5 days :

$ ./doctoshotgun.py fr paris [email protected] -t 5
Password:
Starting to look for vaccine slots for Roger Philibert in 5 next day(s) starting today...
This may take a few minutes/hours, be patient!

Look on specific date

By default, the script looks for slots between now and next day at 23:59:59. If you can't be vaccinated right now (e.g covid in the last 3 months or out of town) and you are looking for an appointment in a distant future, you can pass a starting date:

$ ./doctoshotgun.py fr paris [email protected] --start-date 17/06/2021
Password:
Starting to look for vaccine slots for Roger Philibert in 7 next day(s) starting 17/06/2021...
This may take a few minutes/hours, be patient!

Filter by vaccine

The Pfizer vaccine is the only vaccine allowed in France for people between 16 and 18. For this case, you can use the -z option.

$ ./doctoshotgun.py fr paris [email protected] PASSWORD -z
Starting to look for vaccine slots for Luce Philibert...
Vaccines: Pfizer
This may take a few minutes/hours, be patient!

It is also possible to filter on Moderna vaccine with the -m option and Janssen with the -j option.

Development

Running tests

 $ pip install -r requirements-dev.txt
 $ pytest test_browser.py

doctoshotgun's People

Contributors

rbignon avatar edwillys avatar clemux avatar cvermot avatar raphaelmeudec avatar gitolicious avatar danburg avatar hista avatar seranpion avatar dettorer avatar erdnaxeli avatar cterence avatar bokub avatar aduffeck avatar alexislg2 avatar romaiiiinnn avatar romuald avatar nicogodet avatar nicolaus-hee avatar remicmacs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.