Git Product home page Git Product logo

sachsen-impfnotifier's Introduction

Sachsen Impfnotifier

This tool regularly checks the vaccination portal of Saxony, Germany for available appointments for specified vaccination centres. It simulates mouse clicks in a real browser from the login to the page where a found appointment needs to be confirmed.

It still requires some luck to get behind the waiting area and then find an appointment. It's recommended to watch the DRK Sachsen Twitter channel to get the release times of new appointments.

After configuring the tool as described below, it can be left running on any of your machines and when an appointment will be found and needs to be confirmed, a system notification pops up. Additionally you can configure a Telegram or Matrix bot to get notified there as well.

Usage

Node.js and npm are required. You also need to be registered on the vaccination portal before being able to use this tool.

  1. Run npm ci to install dependencies

  2. Set the following environment variables e.g. by editing the .env.sample and renaming it to .env

    Env var Required Description
    USER_NAME Yes Your so called "Vorgangskennung"
    PASSWORD Yes Your Password
    CENTRES Yes Comma separated list of centres to check: Belgern-Schildau, Borna, Kamenz, Chemnitz, Dresden, Treuen, Annaberg-Buchholz, Grimma, Löbau, Leipzig, Mittweida, Plauen, Pirna, Riesa, Zwickau
    DELAY No Delay between each check in ms (300000 ms = 5 min by default)
    BROWSER_OPTIONS No Custom browser options as JSON string (f.e. to configure a proxy)
    PARTNER_USER_NAME No The so called "Vorgangskennung" of your partner you want to get an appointment with
    PARTNER_PASSWORD No Password of your partner
    TELEGRAM_TOKEN No Telegram bot token, if you want additionally to be notified via Telegram
    TELEGRAM_CHAT_ID No Telegram chat ID which you want to be notified at
    MATRIX_HOMESERVER No Matrix homeserver URL, if you want additionally to be notified via Matrix
    MATRIX_TOKEN No Matrix access token of your bot user (you have to register this user yourself!)
    MATRIX_ROOM_ID No Matrix internal room ID to which notifications should be sent, the bot user will automatically be invited to this room
  3. Run node index.js

  4. Wait for the notification on your device (or Telegram, if set up additionally) and be lucky

sachsen-impfnotifier's People

Contributors

antje3 avatar copitz avatar jklmnn avatar on3iro avatar sibbl avatar taschik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

sachsen-impfnotifier's Issues

specify date

Hi. it would be great if there was an option to specify the date from which the appointment shall be searched. That would be helpful for people who are only rightfully able to book an appointment from June 7th.

TypeError when running the script

Hi there,

I've git cloned the repo and followed the instructions in README.md.

However, when i tried running the script from the command line:
PASSWORD='somepasswd' USER_NAME='someusername' CENTERS='center1,center2,center3' node index.js

I got this error message:

(node:390666) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'split' of undefined
    at /home/srub/Dokumente/code/repos/code/sachsen-impfnotifier/index.js:5:39
    at Object.<anonymous> (/home/srub/Dokumente/code/repos/code/sachsen-impfnotifier/index.js:50:3)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47
(Use `node --trace-warnings ...` to show where the warning was created)
(node:390666) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:390666) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Could you please help me? What am I doing wrong?

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.