Some checks failed
CI / lint-and-test (push) Failing after 23s
- Added *.egg-info/ to .gitignore to prevent egg metadata from being tracked. - Updated virtual environment instructions in CONTRIBUTING.md and README.md to use .venv for consistency. - Revised mkdocs.yml to include a placeholder for the repository URL when publishing. - Cleaned up pyproject.toml by removing unnecessary pylint configuration. - Enhanced import-format.md and runbook.md documentation for clarity on user roles and health check endpoints.
2.1 KiB
2.1 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Group duty pin: when the pinned duty message is updated on schedule, the bot re-pins it so group members get a Telegram notification. Configurable via
DUTY_PIN_NOTIFY(default: enabled); set to0orfalseto only edit the message without re-pinning.
Changed
- Group duty pin refresh: schedule updates now send a new message, unpin the previous one and pin the new one (instead of editing the existing message and re-pinning). Ensures the pinned message is always a fresh post; on pin/unpin errors the stored message_id is not updated so the next run retries.
[0.1.0] - 2025-02-20
Added
- Telegram bot with python-telegram-bot v22 (polling, Application API).
- Commands:
/start,/help,/set_phone,/import_duty_schedule,/pin_duty. - Miniapp (calendar and duty list) served at
/appwith Russian and English (i18n). - FastAPI HTTP API:
GET /api/duties,GET /api/calendar-events,GET /api/calendar/ical/{token}.ics. - Telegram initData validation for Miniapp; optional phone-based access (
ALLOWED_PHONES/ADMIN_PHONES). - SQLite (default) / configurable DB; SQLAlchemy models, repository, Alembic migrations.
- Duty-schedule import: two-step flow (handover time + JSON file); parser for meta.start_date and schedule[].duty.
- Group duty pin: pin current duty message in group with time/timezone from
DUTY_DISPLAY_TZ. - External calendar ICS URL support; personal ICS calendar by secret token.
- Configuration via environment variables; full reference in docs/configuration.md.
- Docker support (dev and prod compose); entrypoint runs migrations then app.
Security
- Input validation and initData hash verification for Miniapp access.
- Optional CORS and init_data_max_age; use env for secrets.
[0.1.0]: https://github.com/your-org/duty-teller/releases/tag/v0.1.0