Telegram bot for managing cleaning schedule in the local.
Go to file
Kamil 'Kamaś' Bruchal 03e029cd4d docs: updated README.md 2026-06-17 22:29:29 +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: updated README.md 2026-06-17 22:29:29 +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 refactor: files consolidation 2026-06-17 21:29:35 +02:00
service_test.go refactor: files consolidation 2026-06-17 21:29:35 +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

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.

Running

Requires GOOGLE_API_KEY and GOOGLE_SHEETS_ID in the environment or a .env file (see service.go/sheet.go for optional SHEET_RANGE, ROTA_CACHE_PATH, SYNC_INTERVAL). Then:

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 until interrupted (Ctrl-C / SIGTERM).