Code Monkey home page Code Monkey logo

burgerbot's Introduction

BurgerBot

I was frustrated with the lack of available slots in Burgeramt, so I've created this bot for myself, to catch one that available. It's pretty straightforward, once per 30 seconds it parses page with all appointments in all Berlin Burgeramts and if there is available slot for current and next month - it notifies in telegram with the link to registration.

Update

I've shut down burgerbot in 2023 due to changes in the burgeramt website and it's lowered limits. https://allaboutberlin.com/ has good implementation of bot and I suggest either to use that or to fork this repo and continue yourself.

burgerbot's People

Contributors

aliilgimdemirel avatar amaxine avatar an-d-r-e-as avatar easteree avatar elgama-aws avatar harrybiddle avatar jamesb93 avatar kashopi avatar mylesgearon avatar sonac avatar talesa 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

burgerbot's Issues

constantly exceeding rate limits

I've noticed recently that bot started sending low amount of notifications (way less than usual) and it seems like that due to amount of services that it has now (initially it was only couple of like Anmeldung and Abmeldung) - it started being blocked even before going through all the list which is bad, the onion proxy also doesn't really help (since it's super unstable)

There is a need to some alternative solution to this (easy one - to remove services from users from time to time)

How /services works?

Hi 👋

First, thanks a lot for making this bot! Super cool!

I was wondering if I can track any service other than available ones. I am looking for abmeldung (deregistration) appointment. Would be great if you can let me know about this.

Is the tool down?

Two people have written to me because the bot has no new appointments since a few days. They think it's affiliated with All About Berlin. Is the Telegram still working fine?

Feature request: specify other services ("Anliegen")

Hi @sonac,

thanks for your bot, it's super helpful! I noticed that not all appointments can be used for all services ("Anliegen"). Your current script shows appointments for "Wohnungsanmeldungen" but if you need other services (e.g., "Beglaubigungen" with id 121701), the slots that the bot reports, are usually not eligible for those other services.

Would it be possible for you to extend the script that you pass an optional ID for anliegen to the URL when starting the job?

Bot doesn't answer anymore

I noticed that bot doesn't reply anymore. Not to start message or any other command. I got ghosted.
Do you mind looking into it?

FR: Meldebescheinigung Service

Would be great to also have the ability to search for Meldebescheinigung. If it's as simple as finding the service ID and adding it to the dictionary I can PR.

Improve the help message

I could only figure out how to use the bot because I found this code and read it. Tell the user which are the services and id_services they can use with the bot

Seems to not work for service 318998

Service 318998 'Einbürgerung - Verleihung der deutschen Staatsangehörigkeit beantragen' seems to be special in that it's tied to a particular district. When I try the URL from the source code (Note that I put "318998" after the anliegen[]= part)

https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=0&anliegen[]=318998&dienstleisterlist=122210,122217,327316,122219,327312,122227,327314,122231,327346,122243,327348,122252,329742,122260,329745,122262,329748,122254,329751,122271,327278,122273,327274,122277,327276,330436,122280,327294,122282,327290,122284,327292,327539,122291,327270,122285,327266,122286,327264,122296,327268,150230,329760,122301,327282,122297,327286,122294,327284,122312,329763,122314,329775,122304,327330,122311,327334,122309,327332,122281,327352,122279,329772,122276,327324,122274,327326,122267,329766,122246,327318,122251,327320,122257,327322,122208,327298,122226,327300,121362,121364&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F

I get an error page, which doesn't happen with the other services.

Could you confirm that the bot is working for 318998? My district is one that provides online appointment (at this link https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=324261&anliegen[]=318998&herkunft=1) so the bot would be really helpful to me.

I guess a solution would be to list separate services for 318998 Einbürgerung based on the district, instead of putting them under the same service. Does this make sense? The user is likely to only want to subscribe to appointments from their own district anyways given the nature of this service. (From this page there are currently 3 districts that offer online booking of appointments for this service.)

Service IDs have changed

The service IDs have changed around a bit. The bot claims 120703 is "Reisepass", but that's actually requesting a "Personalausweis" (link). The service ID for "Reisepass" is now 121151 (link), which I, unfortunately, cannot subscribe to.

I haven't checked any of the other IDs but they might've also changed a bit.

It would be nice to be able to manually subscribe to service IDs that are not on the list, to circumvent the need to wait for a bot update when the IDs change, but that's probably too advanced for "casual" users.

URL parser for Ausländer

I read in this comment that you may have tried working on it https://www.reddit.com/r/berlin/comments/ppxaqr/comment/huda954/?utm_source=share&utm_medium=web2x&context=3

I'm wondering if instead of dealing with the form you can just parse the URL of the pre-filled form, for example https://otv.verwalt-berlin.de/ams/TerminBuchen/wizardng/6efbab98-b17e-4dc0-8015-4db0f0f2ad6b?dswid=1173&dsrid=486&st=2&v=1652861470436

I'd love to try working on it but not sure how to deploy a bot, any info would be appreciated. Thank you for your effort so far ☀️

Adjusting bot to a specific Bürgeramt

Hi,
Could you add an option to change the URL/Bürgeramt? E.g. I would like that the bot is only checking for open appointments for a specific Bürgeramt or for a list of Bürgerämter. Maybe this is an option which can be set while using the bot?

Something like /add_amt <ID/url>

Cheers and I like the bot anyway
Steffen

Bot not running

Hello, the bot does not want to run with me.

Installed the Telegram module via pip:
pip install python-telegram-bot --upgrade

When starting I get the following message:

python burgerbot.py
Traceback (most recent call last):
   File "/home/username/burgerbot/burgerbot.py", line 233, in <module>
     Main()
   File "/home/username/burgerbot/burgerbot.py", line 224, in main
     bot = bot()
   File "/home/username/burgerbot/burgerbot.py", line 57, in __init__
     self.updater = Updater(os.environ["MY TELEGRAM API KEY"])
   File "/usr/lib/python3.10/os.py", line 679, in __geitem__
     raise KeyError(key) from None
KeyError: 'MY TELEGRAM API KEY'

Is anyone able to help me?

Furthermore, I noticed that the service IDs for:

120680: 'Beglaubigungen',
120701: 'Personalausweis beantragen',

have changed to:

121701: 'Beglaubigungen',
120703: 'Personalausweis beantragen',

Greetings Mike

Is it still working?

I set a service checker 4-5 days ago but I have got no notification. is it still working ?
is there any problem with parser?

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.