Telegram bot for managing cleaning schedule in the local.
Go to file
Kamil 'Kamaś' Bruchal cb0cc679c8 fix: read GOOGLE_SHEETS_ID and default range to current-year tab
LoadConfig read SPREADSHEET_ID, but the .env defines GOOGLE_SHEETS_ID,
so config loading failed. The default SHEET_RANGE was also a hardcoded
'Dyżury!A1:F100', but the spreadsheet tabs are named per year (e.g.
'2026'), producing a 400 'Unable to parse range'. Read GOOGLE_SHEETS_ID
and derive the default range from the current year.

Add a RUN_LIVE-gated integration test that drives the full
LoadConfig -> Service -> Syncer.Sync -> Store path against the live
Sheet, and gitignore the generated rota.json cache.
2026-06-17 21:16:25 +02:00
.gitignore fix: read GOOGLE_SHEETS_ID and default range to current-year tab 2026-06-17 21:16:25 +02:00
.golangci.yml Initial commit 2026-06-17 18:53:54 +02:00
.markdownlint-cli2.yaml Initial commit 2026-06-17 18:53:54 +02:00
.pre-commit-config.yaml Initial commit 2026-06-17 18:53:54 +02:00
Dockerfile Initial commit 2026-06-17 18:53:54 +02:00
README.md Docs: README.md added 2026-06-17 21:01:01 +02:00
fetch-sheet.go fix: clean fetch-sheet lint, gitignore .env 2026-06-17 20:58:49 +02:00
live_test.go fix: read GOOGLE_SHEETS_ID and default range to current-year tab 2026-06-17 21:16:25 +02:00
main.go feat: add Config + Service wiring for cache and background sync 2026-06-17 20:35:05 +02:00
scheduler.go Feat: Sheet parsing 2026-06-17 20:08:16 +02:00
service.go fix: read GOOGLE_SHEETS_ID and default range to current-year tab 2026-06-17 21:16:25 +02:00
service_test.go fix: read GOOGLE_SHEETS_ID and default range to current-year tab 2026-06-17 21:16:25 +02:00
store.go fix: lint, interval validation, corrupt-cache tolerance, background init sync, concurrent test 2026-06-17 20:45:29 +02:00
store_test.go fix: lint, interval validation, corrupt-cache tolerance, background init sync, concurrent test 2026-06-17 20:45:29 +02:00
sync.go fix: lint, interval validation, corrupt-cache tolerance, background init sync, concurrent test 2026-06-17 20:45:29 +02:00
sync_test.go feat: add Syncer that refreshes cache and tolerates fetch failure 2026-06-17 20:31:53 +02:00

README.md

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.