okainov/munich-scripts

Some useful scripts simplifying bureaucracy

Python

200

90 commits

updated Oct 13, 2023

See the code

README

General

Some useful scripts simplifying bureaucracy, especially when living in Munich, Germany.

termin_api.py

Small tool to show availability of appointments in different Departments of Munich.

Available departments are:

Please note the script does not perform appointment booking (see #4), it just tells you current status and allows you to subscribe to a notifier for one week.

Telegram bot

There is a Telegram bot at @MunichTerminBot using termin_api.py functionality. The bot is written using python-telegram-bot library. Source code is also in this repo, tg_bot.py.

Development

By default bot runs as webhook configured for personal web server. For local development it's easier to use polling. In order to get it, just set DEBUG = True in one of first lines of the script.

Bot deployment

Bot is hosted on personal web server, running in Docker and automatic deploy from master branch of this repo is set, no action should be required.

Manual deployment

Pre-requisites:

  • TG_TOKEN environment variable is set in .env file

If you want to enable Elastic statistics, then additionally set following variables to non-empty value:

  • ELASTIC_HOST - hostname where ELK stack is deployed
  • ELASTIC_USER - ElasticSearch username
  • ELASTIC_PASS - ElasticSearch password

Commands for manual deploy

git pull
docker-compose build
docker-compose up -d

Shortly after deploy make sure everything is running

docker-compose logs -f

Script usage

Edit script content and select what type of appointments you actually need:

appointments = get_termins(DMV, 'FS Umschreibung Ausländischer FS')
# appointments = get_termins(CityHall, 'An- oder Ummeldung - Einzelperson')
# appointments = get_termins(ForeignLabor, 'Niederlassungserlaubnis Blaue Karte EU')

Run the script

python3 termin_api.py

Output will be printed in the console

appointment
germany
hacktoberfest
munich
python
scraper
simple
telegram

Contributors

okainov

71 commits

guipsamora

4 commits

joistick11

3 commits

okainov/munich-scripts

Some useful scripts simplifying bureaucracy

Python

200

90 commits

updated Oct 13, 2023

See the code

README

General

Some useful scripts simplifying bureaucracy, especially when living in Munich, Germany.

termin_api.py

Small tool to show availability of appointments in different Departments of Munich.

Available departments are:

Please note the script does not perform appointment booking (see #4), it just tells you current status and allows you to subscribe to a notifier for one week.

Telegram bot

There is a Telegram bot at @MunichTerminBot using termin_api.py functionality. The bot is written using python-telegram-bot library. Source code is also in this repo, tg_bot.py.

Development

By default bot runs as webhook configured for personal web server. For local development it's easier to use polling. In order to get it, just set DEBUG = True in one of first lines of the script.

Bot deployment

Bot is hosted on personal web server, running in Docker and automatic deploy from master branch of this repo is set, no action should be required.

Manual deployment

Pre-requisites:

  • TG_TOKEN environment variable is set in .env file

If you want to enable Elastic statistics, then additionally set following variables to non-empty value:

  • ELASTIC_HOST - hostname where ELK stack is deployed
  • ELASTIC_USER - ElasticSearch username
  • ELASTIC_PASS - ElasticSearch password

Commands for manual deploy

git pull
docker-compose build
docker-compose up -d

Shortly after deploy make sure everything is running

docker-compose logs -f

Script usage

Edit script content and select what type of appointments you actually need:

appointments = get_termins(DMV, 'FS Umschreibung Ausländischer FS')
# appointments = get_termins(CityHall, 'An- oder Ummeldung - Einzelperson')
# appointments = get_termins(ForeignLabor, 'Niederlassungserlaubnis Blaue Karte EU')

Run the script

python3 termin_api.py

Output will be printed in the console

appointment
germany
hacktoberfest
munich
python
scraper
simple
telegram

Contributors

okainov

71 commits

guipsamora

4 commits

joistick11

3 commits

Languages

Python

99.6%