# Changelog of Telegram Channel Monitor 🔔 (keyword alerts, no login) (`tagadanar/telegram-channel-monitor`) Actor

- **URL**: https://apify.com/tagadanar/telegram-channel-monitor/changelog.md
- **Full Actor documentation**: https://apify.com/tagadanar/telegram-channel-monitor.md

## Changelog

### 2026-09-08

- **A run can no longer spend more time than it has.** The retry ladder booked
  its worst case up front, under a loop with no ceiling, so a slow patch on the
  source could push the run past the platform timeout — and a run killed that
  way loses its own closing message entirely.
- Every request now plans against the time actually left, and a backoff or a
  politeness pause that would outlive the run is not slept.
- A run that hits its time limit says so and names exactly what it never
  reached, so an unchecked item is never reported as an empty one.

### 2026-09-02

- A keyword run now says how many messages were read and how many matched
  ("0 of 3,856 fetched message(s) matched keyword(s) …"), instead of a bare
  "Done: 0 message(s)" that reads like an outage.

### 0.1.3 (2026-08-29)

- README: "What it costs" now states the numbers it was describing in words —
  until today the file did not contain a single "$". $1.50 per 1,000 messages
  delivered, $1.00 per 1,000 channels actually read, $0.001 per run, with
  Bronze/Silver/Gold 10/20/30% off both per-item prices, plus what a quiet week
  of a daily 10-channel monitor really costs. This actor uses no proxy at all,
  so platform usage is included and there is nothing else to pay.

### 0.1.0

First release.

- Reads any public Telegram channel from the logged-out preview at `t.me/s/`, with no login, no phone number and no API key.
- Keyword watching across a list of channels, case-insensitive, matched on the message text, its hashtags, its mentions, its links and any link-card title. Messages that do not match are not delivered and not billed.
- Monitor mode: turn on "only messages posted since the last run", schedule it, and each run brings back only what is new. Each channel keeps its own position, so editing the list does not reset the others.
- Per message: text with line breaks kept, ISO date, view count, links, hashtags, mentions, forward and reply info, and which media was attached (photos, video, documents, polls and the rest are reported, never downloaded).
- Per channel: title, description, subscriber count, verified flag, and a plain status saying whether it was read, has no public preview (groups, bots, preview switched off), or does not exist.
- Optional Slack webhook digest of what a run found. Never billed.
- Private and invite-only links are skipped with a note instead of failing the run.
