# Dyżur-bot A telegram bot for managing the cleaning rota in hackerspace. Bot offers weekly reminders about cleaning duties as well as on demand informations. Backend read the schedule from a Google sheet, store it in local JSON file. ## Running Requires `GOOGLE_API_KEY`, `GOOGLE_SHEETS_ID`, and `BOT_TOKEN` in the environment or a `.env` file (see `service.go`/`sheet.go` for optional `SHEET_RANGE`, `ROTA_CACHE_PATH`, `SYNC_INTERVAL`). Then: ```sh go run ./cmd/dyzur-bot ``` The service loads the cached rota, syncs from Google Sheets in the background on `SYNC_INTERVAL` (default 30m), and runs the Telegram bot via long polling until interrupted (Ctrl-C / SIGTERM). ### Commands - `/kto_sprzata` — who is on cleaning duty this week. - `/sync` — refresh the rota from Google Sheets now. ### Reminders If `GROUP_CHAT_ID` is set, the bot posts a weekly duty reminder to that chat. Schedule (all optional, with defaults): `REMINDER_WEEKDAY` (default `Monday`), `REMINDER_HOUR` (default `9`, 0–23), `DUTY_AHEAD_DAYS` (default `14`). The hour is interpreted in Europe/Warsaw time. The reminder announces who is on duty `DUTY_AHEAD_DAYS` from the fire time — e.g. every Monday 09:00, who cleans two weeks out. Leave `GROUP_CHAT_ID` unset to disable reminders.