All work
Case study
Cinema presale alert bot
A public Telegram bot that watches cinema schedules and notifies subscribers the moment presales open or new showtimes appear for the films they follow.
- Client
- Public Telegram service
- Role
- Author
- Timeline
- 2026 · public
- Stack
- PythonaiogramasyncioSQLiteDocker
Problem
Tickets for premieres sell out within hours, and cinemas do not notify anyone when presales open.
Approach & architecture
- A provider interface hides each cinema's API behind normalised films and sessions, so adding a cinema chain means writing an adapter, not rewriting the bot.
- A monitor compares session sets every five minutes; the new state is saved only after at least one subscriber has actually been notified, so a failure never swallows an alert.
- A newly added cinema is adopted silently on its first cycle, so users are not flooded with existing films announced as new.
Result
Users follow a film or all presales, in Uzbek or Russian, with a one-tap unsubscribe on every alert.
What made it robust
- Alerts are batched per user to stay within Telegram limits; partial sweeps are treated as failures; health alerts fire when a source goes down.
- Runs as a non-root container.
Have a similar problem?
Tell me about it — I'll reply with an honest view of scope, approach and what a first milestone could look like.