All projects

Technical Report · Workflow Automation

PartsRadar Bot - Price Alert Automation

Python-based Telegram bot that evaluates normalized price observations against configured rules and delivers alerts when tracked products meet threshold conditions.

AUTHOR  Gaurav Verma CATEGORY  Workflow Automation SOURCE  http://partsradar.app/ DATE  Jan 2026 STATUS  published
View Source Python Automation Telegram Alerts Price Tracking

Abstract

A Python-based Telegram notification bot that sits downstream of the PartsRadar price-tracking pipeline, evaluating normalized price observations against user-configured alert rules and delivering a formatted message when a condition is met. The key design decision is keeping alerting fully decoupled from data collection so the two can evolve independently.

1. What This Is

The bot is the notification layer for the PartsRadar project set. Once the upstream data pipeline has normalized and tracked prices, this component reacts to each new observation by checking it against the user's configured alert conditions and, when one fires, pushes a product-and-price summary to the user via Telegram.

It was part of a 2026 project set and is closed-source. No standalone public repository was present in the reviewed GitHub account, so exact bot commands, the persistence schema, and the alert-rule syntax are not documented here.

2. How It Works

The workflow is a linear five-stage pipeline. Each stage has a single responsibility, which keeps the notification logic easy to swap or extend without touching the scraping or normalization layers.

# Stage Input Tool Output
01 Receive observation PartsRadar refresh event Python Normalized price record
02 Load alert condition Tracked-product ID Rule/state store Configured threshold
03 Evaluate rule New price + threshold Python Boolean: condition met
04 Build message Product + price context Python Formatted alert text
05 Deliver notification Alert text Telegram / automation User receives message

3. Implementation Notes

3.1 Decoupled alerting

Alerting is a separate component from scraping and classification. The data pipeline runs on its own schedule; the bot only activates when a new observation lands. This means notification logic can be changed, paused, or extended without affecting data collection, and vice versa.

3.2 Normalization-first evaluation

Alerts fire on normalized price data, not raw retailer listings. The intent is that a user tracking a single product does not receive separate notifications for retailer-name variants of the same item. The trade-off is that the bot depends on the upstream normalization step being correct; a misclassified variant can suppress or duplicate an alert.

3.3 Rule and state handling

A small rule/state layer tracks which configured conditions should produce notifications for each tracked product. The exact schema is not public, but the design keeps the rule definition separate from the delivery mechanism so the same condition can drive multiple channels in the future.

4. Constraints

  • Closed-source, no public repo

    No standalone GitHub repository was found. Bot commands, persistence schema, and alert-rule syntax are undocumented, making external review or contribution impossible.

  • Single delivery channel

    Telegram is the only notification path. There is no email, SMS, or webhook fallback, so a Telegram outage or rate-limit silently drops alerts.

  • No visible test coverage

    As a closed component with no public CI, there is no way to verify alert-rule edge cases (e.g., price oscillation around a threshold, duplicate-suppression logic) from the outside.

  • Project marked closed

    The 2026 project set is marked CLOSED in the source PDF. The bot is not under active maintenance, so upstream API changes or Telegram bot-token rotation are unaddressed.

5. Next

  1. a. Publish a minimal open-source reference implementation of the alert-rule engine with a documented condition DSL.
  2. b. Add a second delivery channel (email or generic webhook) behind the same rule interface so a single condition can fan out to multiple targets.
  3. c. Document the persistence schema and add a small integration test suite covering threshold-boundary and duplicate-suppression cases.

— end of report —