{"adoption": {"forks": 397, "observed_at": "2026-08-28T04:07:11.615269+00:00", "stars": 2707}, "canonical_url": "https://ross.abutalabs.com/products/dineshkarthik-telegram_media_downloader", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Download media files from a telegram conversation/chat/channel up to 2GiB per file", "domain": ["messaging-platforms", "media", "files"], "enriched": true, "function": ["web-scraping", "cli", "file-system", "configuration-management"], "health_score": 85, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Dineshkarthik/telegram_media_downloader"], "name": "Dineshkarthik/telegram_media_downloader", "platform": ["python", "cross-platform", "cli"], "pushed_at": "2026-04-27T11:43:36+00:00", "repo": "Dineshkarthik/telegram_media_downloader", "stars": 2707, "tags": ["telegram", "media-downloader", "pyrogram", "archiving", "web-ui", "rate-limiting", "automation", "command-line"], "topics": ["telegram", "telegram-apps", "python3", "telegram-api", "media-downloader", "pyrogram", "archiving-media", "python", "telegram-desktop"], "urls": [], "use_cases": ["download all media from a telegram channel", "archive photos and videos from a telegram chat", "bulk download telegram files up to 2gb", "resume telegram media downloads without duplicates", "download media from multiple telegram chats in parallel", "back up telegram voice notes and documents"], "what_it_is": "A Python tool that downloads media files (audio, documents, photos, videos, voice notes) from Telegram chats, channels, and conversations, up to 2GiB per file. It tracks the last downloaded message to avoid duplicates and offers a web UI, multi-chat support, and rate limiting.", "when_to_avoid": ["you need a GUI desktop app rather than a config-driven Python tool", "you want to download from chats you are not a member of", "you need files larger than 2GiB per file"], "when_to_choose": ["you want to archive media from Telegram chats or channels you belong to", "you need resumable, duplicate-free downloads tracked via config state", "you want multi-chat, parallel downloading with rate limiting to avoid bans"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dineshkarthik-telegram_media_downloader", "repo": "Dineshkarthik/telegram_media_downloader", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.615269+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:15:41.666277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20cc73e083a94de481be6f0241bc6525b8dfc84d2d21ce0ff9162f9ac5a0371d", "fetched_at": "2026-08-28T04:07:11.615269+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Dineshkarthik/telegram_media_downloader"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.615269+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:15:41.666277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20cc73e083a94de481be6f0241bc6525b8dfc84d2d21ce0ff9162f9ac5a0371d", "fetched_at": "2026-08-28T04:07:11.615269+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Dineshkarthik/telegram_media_downloader"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:15:41.666277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20cc73e083a94de481be6f0241bc6525b8dfc84d2d21ce0ff9162f9ac5a0371d", "fetched_at": "2026-08-28T04:07:11.615269+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Dineshkarthik/telegram_media_downloader"}], "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:07:11.615269+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.615269+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.615269+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:15:41.666277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20cc73e083a94de481be6f0241bc6525b8dfc84d2d21ce0ff9162f9ac5a0371d", "fetched_at": "2026-08-28T04:07:11.615269+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Dineshkarthik/telegram_media_downloader"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.615269+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.615269+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:15:41.666277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20cc73e083a94de481be6f0241bc6525b8dfc84d2d21ce0ff9162f9ac5a0371d", "fetched_at": "2026-08-28T04:07:11.615269+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Dineshkarthik/telegram_media_downloader"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.615269+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.615269+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.615269+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:15:41.666277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20cc73e083a94de481be6f0241bc6525b8dfc84d2d21ce0ff9162f9ac5a0371d", "fetched_at": "2026-08-28T04:07:11.615269+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Dineshkarthik/telegram_media_downloader"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.615269+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.615269+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:15:41.666277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20cc73e083a94de481be6f0241bc6525b8dfc84d2d21ce0ff9162f9ac5a0371d", "fetched_at": "2026-08-28T04:07:11.615269+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Dineshkarthik/telegram_media_downloader"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:15:41.666277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20cc73e083a94de481be6f0241bc6525b8dfc84d2d21ce0ff9162f9ac5a0371d", "fetched_at": "2026-08-28T04:07:11.615269+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Dineshkarthik/telegram_media_downloader"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:15:41.666277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20cc73e083a94de481be6f0241bc6525b8dfc84d2d21ce0ff9162f9ac5a0371d", "fetched_at": "2026-08-28T04:07:11.615269+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Dineshkarthik/telegram_media_downloader"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:15:41.666277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20cc73e083a94de481be6f0241bc6525b8dfc84d2d21ce0ff9162f9ac5a0371d", "fetched_at": "2026-08-28T04:07:11.615269+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Dineshkarthik/telegram_media_downloader"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 79, "longevity": 100, "rhythm": 72}, "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": 2597, "days_push": 128, "days_rel": 190, "gap_med": 1.0, "n_releases_24m": 5}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}