A Slack bot that manages on-call rotations for the SRE team.
uv venv .venv && source .venv/bin/activate
uv pip install -r requirements.txt # asegúrate de que existen las deps
# Export env vars (adapt .env or your own secrets manager)
export SLACK_APP_TOKEN="xapp-..."
export SLACK_BOT_TOKEN="xoxb-..."
export SUPPORT_CHANNEL="#oncall"
export LOG_LEVEL="DEBUG" # DEBUG, INFO, WARNING, ERROR
export DATABASE_URL="postgresql://user:password@localhost:5432/postgres"
uv run main.py
Inside Slack (mention the bot or DM):
who
– shows current on-callstatus
– shows rotation statusrotate
– forces rotation (admin)test
– executes a test rotationhelp
– shows help text
- Automatic rotation: Sunday 18:00 Europe/Madrid
- Handoff reminder: Monday 06:00 Europe/Madrid
These are registered in main.py
via APScheduler.