1.2 KiB
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:
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.