{"adoption": {"forks": 244, "observed_at": "2026-08-28T04:04:03.714498+00:00", "stars": 1229}, "canonical_url": "https://ross.abutalabs.com/products/telegramforwarder", "card": {"archived": false, "artifact_type": "application", "description": "一个功能强大的 Telegram 消息转发器，支持多源转发、关键词过滤、正则替换、RSS订阅，AI处理，多平台推送等功能。", "domain": ["messaging-platforms", "self-hosted", "artificial-intelligence"], "enriched": true, "function": ["workflow-automation", "webhook", "nlp", "llm-inference", "message-queue"], "health_score": 73, "homepage": null, "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["Heavrnl/TelegramForwarder"], "name": "Heavrnl/TelegramForwarder", "platform": ["self-hosted", "python"], "pushed_at": "2026-02-10T08:51:56+00:00", "repo": "Heavrnl/TelegramForwarder", "stars": 1229, "tags": ["telegram", "telethon", "message-forwarding", "rss", "apprise", "keyword-filtering", "regex", "push-notifications", "automation", "docker", "linux"], "topics": ["telegram", "telethon", "fliter", "python", "apprise"], "urls": [], "use_cases": ["aggregate and filter messages from multiple telegram channels into one group", "forward telegram messages with keyword blacklist or whitelist", "summarize telegram channel messages with AI on a schedule", "push telegram messages to email, sms, or other chat apps", "convert rss feeds into telegram messages", "archive and collect telegram content without bot admin access", "rewrite or replace message content with regex before forwarding"], "what_it_is": "A self-hosted Telegram message forwarder built on Telethon that copies messages from multiple source chats to target chats with keyword/regex filtering, media filtering, content rewriting, and AI processing. It also supports RSS subscriptions and multi-platform push notifications via Apprise.", "when_to_avoid": ["you only need simple bot-to-bot forwarding without account login", "you cannot run a persistent self-hosted service", "you need a managed cloud solution with a graphical setup wizard"], "when_to_choose": ["you want user-account-based forwarding that bypasses forward/copy restrictions", "you need flexible filtering, regex replacement, and AI processing of telegram messages", "you want a dockerized self-hosted forwarder with rss and apprise push support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/telegramforwarder", "repo": "Heavrnl/TelegramForwarder", "role": "main", "score": 52}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.714498+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:15:04.603973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f98100099aa7623bbbdb1a223f0093fe9537390f80844ec8f2be5b495c3dfe5b", "fetched_at": "2026-08-28T04:04:03.714498+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Heavrnl/TelegramForwarder"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.714498+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:15:04.603973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f98100099aa7623bbbdb1a223f0093fe9537390f80844ec8f2be5b495c3dfe5b", "fetched_at": "2026-08-28T04:04:03.714498+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Heavrnl/TelegramForwarder"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:15:04.603973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f98100099aa7623bbbdb1a223f0093fe9537390f80844ec8f2be5b495c3dfe5b", "fetched_at": "2026-08-28T04:04:03.714498+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Heavrnl/TelegramForwarder"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.714498+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.714498+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.714498+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:15:04.603973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f98100099aa7623bbbdb1a223f0093fe9537390f80844ec8f2be5b495c3dfe5b", "fetched_at": "2026-08-28T04:04:03.714498+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Heavrnl/TelegramForwarder"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.714498+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.714498+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:15:04.603973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f98100099aa7623bbbdb1a223f0093fe9537390f80844ec8f2be5b495c3dfe5b", "fetched_at": "2026-08-28T04:04:03.714498+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Heavrnl/TelegramForwarder"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.714498+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.714498+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.714498+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:15:04.603973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f98100099aa7623bbbdb1a223f0093fe9537390f80844ec8f2be5b495c3dfe5b", "fetched_at": "2026-08-28T04:04:03.714498+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Heavrnl/TelegramForwarder"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.714498+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.714498+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:15:04.603973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f98100099aa7623bbbdb1a223f0093fe9537390f80844ec8f2be5b495c3dfe5b", "fetched_at": "2026-08-28T04:04:03.714498+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Heavrnl/TelegramForwarder"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:15:04.603973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f98100099aa7623bbbdb1a223f0093fe9537390f80844ec8f2be5b495c3dfe5b", "fetched_at": "2026-08-28T04:04:03.714498+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Heavrnl/TelegramForwarder"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:15:04.603973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f98100099aa7623bbbdb1a223f0093fe9537390f80844ec8f2be5b495c3dfe5b", "fetched_at": "2026-08-28T04:04:03.714498+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Heavrnl/TelegramForwarder"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:15:04.603973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f98100099aa7623bbbdb1a223f0093fe9537390f80844ec8f2be5b495c3dfe5b", "fetched_at": "2026-08-28T04:04:03.714498+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Heavrnl/TelegramForwarder"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 66, "longevity": 42, "rhythm": 40}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 600, "days_push": 204, "days_rel": 438, "gap_med": 0, "n_releases_24m": 52}, "score": 52, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}