Skip to content

A Telegram bot that notifies you when new appointments are available at the Bürgeramt in Berlin.

License

Notifications You must be signed in to change notification settings

codeswhite/berlin-appointment-finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Berlin Bürgeramt Telegram Bot (unofficial)

A Telegram bot that notifies you when new appointments are available at the Bürgeramt in Berlin.

You can specify your preferred date (or date range).

Try it out: 👉🏼 https://t.me/BurgeramtAppointmentFinderBot 👈🏼

Inspiration

This project is based on the work done by Nicolas Bouliane - The author of All About Berlin.

I recommend checking out his blog post about this:
Nicolas Bouliane - Bürgeramt Experiment.

Cool insight from the blog: Chances of finding an appointment to the Bürgeramt, by time of day

How it works?

  1. The bot subscribes to the Websocket at wss://allaboutberlin.com/api/appointments (source: https://github.com/All-About-Berlin/burgeramt-appointments)
  2. When the bot receives a new set of appointments from the ws, it checks if any of them are in the preferred date range for any user.
  3. If appointments are found, the bot sends a message to the user.

Running

Running with Docker

First copy the .env.example file to .env and fill in the required values.

With Compose

docker compose up -d

Without Compose

docker build -t berlin-appointment-finder .
docker run -d --env-file .env --name berlin-appointment-finder berlin-appointment-finder

Local development

  1. Copy the .env.example file to .env and fill in the required values
  2. Run the following commands:
python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
python -m src

Plans and Todos

  • Add support for Burgeramts in different cities.
  • Add support for other languages?
  • Booking link should point to the month of the appointment.
  • Add support for running a local instance of the scrapper instead of using the remote one (maybe create an alternative compose.yml).

License

MIT License

Credits

About

A Telegram bot that notifies you when new appointments are available at the Bürgeramt in Berlin.

Topics

Resources

License

Stars

Watchers

Forks