Python-Untis-Telegram-Bot banner

Python-Untis-Telegram-Bot

8 devlogs
9h 54m 22s

Supposed to track cancelled lessons, keep track of your exams (you'll have to provide the date, room and subject yourself), and be highly customizable for other schools (Untis feature). The bot (if cloned) only supports one user per instance! The …

Supposed to track cancelled lessons, keep track of your exams (you’ll have to provide the date, room and subject yourself), and be highly customizable for other schools (Untis feature). The bot (if cloned) only supports one user per instance! The available testbot has stripped functionality - Check the description on the demo page! This is a skilled work project for school!

This project uses AI

I used Github Copilot if it got code completions ready that were actually usable (was pretty rare actually) and github copilots agent mode if i needed to debug something that was pretty nasty. Most of the code was written by myself and only some nasty stuff like translation was mostly done by AI

Also remember that I didn’t get paid out for the hours i had on record before, I hope this voting update fixes it as i received around 4 cookies for my previous 9 1/2 hours of work :(

Demo Repository

Loading README...

n0201

Shipped this project!

Hours: 10.15
Cookies: 🍪 92
Multiplier: 9.42 cookies/hr

Just another small update with quality of life changes and bugfixed to the UNTIS implementation. (remember that UNTIS is disabled for the test bot and only works if you selfhost this bot. That means that only exam management will be available for the test bot. Also the UNTIS implementation took me quite some time so don’t judge the full bot for the featureset it only has in its stripped down mode!)

n0201

heya! i improved the cancelled lessons check (actually fixed a bug) and also improved the /test command to allow you to check for cancelled lessons for tomorrow too! all of this WON’T be available on the currently running test bot though, as that one has the UNTIS implementation disabled. It’ll only allow you to add and remove exams on the fly.

Attachment
Attachment
0
n0201

Shipped this project!

Hours: 0.37
Cookies: 🍪 4
Multiplier: 10.93 cookies/hr

actually, i didn’t learn anything with this ship, except that I should always check the translation files because if something is missing there, something else could be broken if someone runs it in that language :D

n0201

fixed an issue where you wouldn’t receive a message as i missed a placeholder in the english translation. I also made the code more robust by adding stripping of strings in case it catches a whitespace (if an user sends one).
In general more stable now and should work perfectly fine!

Attachment
Attachment
Attachment
0
n0201

Updated README and added a /start command. Nothing special this time :)

Attachment
Attachment
0
n0201

huge overhaul - more squashed bugs and english translation!
put a lot of thinking into this release. its ready to go now. Biggest overhaul is that you won’t get stuck in convos now and stuff gets handled properly now!

Attachment
Attachment
Attachment
0
n0201

Not many changes done. Just made the bot tell you if there’s no cancelled lessons instead of not responding at all if you manually ask it for cancelled lessons. I also did some feature stripping (mostly affecting Untis) for the public bot which can be contacted through the demo link or here: You can still try it out here: https://t.me/maerkischer_untis_entfall_bot. Read the description carefully!
this test bot has all untis features disabled (data privacy reasons) and exam reminders won’t work unless you clone the repo and run it yourself. you’ll still be able to create/show/remove exams!

Attachment
Attachment
0
n0201

Haiiii,
with this devlog, the bot is practically done!
I implemented everything i wanted from the previous Devlog except for multilingual support (This will be added eventually).
This means:

  • Full restricted access (only owner can request things from the bot)
  • Docker support!
  • Cleaner code (just a little bit)
  • Untis can be disabled (to keep exam tracking only)
  • updated README (yay!)

Keep in mind, this is a part of my skilled work from school. I would enjoy and feedback tho and hope a few people here could actually use it ;)

Attachment
Attachment
0
n0201

Added exam (“Klausuren”) tracking to the bot. You can now ask it what exams are currently saved, you can delete exams and add new ones. Reminders included already!

Next up:

  • Readme update (much needed once the docker imgs are being built on push)
  • better recovery on reboot (exams are already getting saved using pickle, just gotta make the bot grab those and start reminder jobs again)
  • docker img building on push (github actions)
  • english translation (gotta look at how to replace strings with differen values if a different language was set, but that will be the last thing I implement before I ship this project)
  • disabling untis support as an option alltogether (some schools might not use untis, but some pupils might like the idea of tracking their exams using telegram!)
Attachment
Attachment
0
n0201

I added basic login, cancelled lessons checking and message sending for now. The bot checks the current time table every 15 minutes by itself. Additionally you can grab it by yourself by using /test. If the time table (and thus the cancelled lessons) haven’t changed, the bot won’t send you a message, by using the /test command, it will ignore that fact and will send you all cancelled lessons either way.

Next up would be improved formatting, a few updates to the README and the exam callender!

Attachment
0