A Logger for a Untis based Timetable used by most german school (excluding schhols in bavaria), sending information such as the next lesson and room as well as inform you if any updates happen on your timetable
Find a file
google-labs-jules[bot] 6c33d1a410 feat: Implement multi-user timetable tracking and notifications
Refactors the application to support multiple users for timetable logging.

- User accounts added via a Discord command are now stored in `accounts.json`.
- The main scheduling loop now fetches timetables for all registered users, in addition to the default user defined in the `.env` file.
- Notifications for registered users are now sent as direct messages, providing personalized updates. The default user continues to use the existing webhook.
- User-specific data files (e.g., `timetable_filled_<userID>.json`) are now used to keep each user's data separate.
- Error handling has been improved to prevent the application from crashing if an operation fails for a single user.
2025-10-10 10:10:15 +00:00
Bot feat: Implement multi-user timetable tracking and notifications 2025-10-10 10:10:15 +00:00
Botrun feat: Implement multi-user timetable tracking and notifications 2025-10-10 10:10:15 +00:00
.gitignore changed .gitignore to include all files now with the new json files 2025-08-10 11:42:39 +02:00
go.mod Full bot functionality and multi user support 2025-08-10 11:38:31 +02:00
go.sum Bot start 2025-07-27 19:25:35 +02:00
main.go feat: Implement multi-user timetable tracking and notifications 2025-10-10 10:10:15 +00:00
README.md updated readme 2025-08-10 12:47:32 +02:00
untislogger Full bot functionality and multi user support 2025-08-10 11:38:31 +02:00

Discord bot for logging Untis timetable to a Discord Webhook and Multiple accounts which can be added using !addaccount in a server whit the Bot

create .env with Credentials:

  • UNTIS_PASSWORD
  • UNTIS_USER
  • DISCORD_WEBHOOK_URL
  • DISCORD_BOT_TOKEN
  • ENC_KEY (generated via head -c 32 /dev/urandom | base64)

This is a project for me, issues will be resolved as i find the motivation to do so, improvements may follow in the future

I will try to maintain this project as best as possible. Maybe add a better security to it than to trust the host but for now it is working and that was my goal. Please report any errors you find while using this bot.

Installation

This bot is self hosted and will run correctly when doing "go run . " in the root folder of the project. Before usage add the .env file with the Credentials as mentioned above. When you run the Programm for the first time, all important files will be created automatically and the bot is ready to go. The user added via the fields UNTIS_USER and UNTIS_PASSWORD in the .env will be the one where the Webhook is sourced from and the other users will be send a DM after adding their account with the command.

In case your school is using a different timing for the Lessons than mine, you can change the times where you will be notified with the next room and Lesson for the day in Line 71 in the main.go file.

I am neither a representative of Untis Untis Baden-Württemberg GmbH nor a Developer in their team. This project is based on their API and is not affiliated with them.