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. |
||
|---|---|---|
| .gitignore | ||
| .golangci.yml | ||
| .markdownlint-cli2.yaml | ||
| .pre-commit-config.yaml | ||
| Dockerfile | ||
| README.md | ||
| fetch-sheet.go | ||
| live_test.go | ||
| main.go | ||
| scheduler.go | ||
| service.go | ||
| service_test.go | ||
| store.go | ||
| store_test.go | ||
| sync.go | ||
| sync_test.go | ||
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.