{"adoption": {"forks": 5608, "observed_at": "2026-08-28T04:11:46.962565+00:00", "stars": 26469}, "canonical_url": "https://ross.abutalabs.com/products/itchat", "card": {"archived": false, "artifact_type": "library", "description": "A complete and graceful API for Wechat. 微信个人号接口、微信机器人及命令行微信，三十行即可自定义个人号机器人。", "domain": ["messaging-platforms", "chatbots", "apis"], "enriched": true, "function": ["sdk", "chatbot", "workflow-automation", "http-client"], "health_score": 20, "homepage": "http://itchat.readthedocs.io", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["littlecodersh/ItChat"], "name": "littlecodersh/ItChat", "platform": ["python", "cross-platform"], "pushed_at": "2023-09-28T07:46:58+00:00", "repo": "littlecodersh/ItChat", "stars": 26469, "tags": ["wechat", "personal-account-api", "messaging-bot", "reverse-engineered-api", "automation"], "topics": ["itchat", "wechat", "api", "robot"], "urls": [], "use_cases": ["build a wechat personal account bot in python", "auto-reply to wechat messages", "send messages to wechat file transfer assistant", "automate wechat group chat responses", "search and message wechat friends programmatically", "download wechat images and attachments with a bot"], "what_it_is": "ItChat is a Python library providing a complete API for WeChat personal accounts, enabling bots and automation with under thirty lines of code. It supports message handling, friend search, file transfer, and QR-code login via reverse-engineered web WeChat endpoints.", "when_to_avoid": ["you need official, supported WeChat API access or compliance guarantees", "you target WeChat official accounts rather than personal accounts", "you need a maintained solution - the reverse-engineered web WeChat interface may break as WeChat changes"], "when_to_choose": ["you want a simple Python API to automate a WeChat personal account", "you need message registration handlers for text, media, and friend requests", "you want command-line QR login and hot-reload session persistence"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/itchat", "repo": "littlecodersh/ItChat", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:46.962565+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:55:52.116580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f77a2218b48c72e0adb0305ebcabd7e4e7910f738ca76e7c3d2cefe40d4a6a4", "fetched_at": "2026-08-28T04:11:46.962565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littlecodersh/ItChat"}, {"content_hash": "18a8512c6d79c9cd94bad878cdb1d3de593e806e2fac4f14905cf1851cb6fcb4", "fetched_at": "2026-08-29T07:52:08.767887+00:00", "kind": "homepage", "missing": false, "url": "http://itchat.readthedocs.io"}, {"content_hash": "09174e536cef226bfa9ca193576e732bee4a514ab6ed46da44621de01abd0c82", "fetched_at": "2026-08-29T07:52:08.771365+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/itchat/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:46.962565+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:55:52.116580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f77a2218b48c72e0adb0305ebcabd7e4e7910f738ca76e7c3d2cefe40d4a6a4", "fetched_at": "2026-08-28T04:11:46.962565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littlecodersh/ItChat"}, {"content_hash": "18a8512c6d79c9cd94bad878cdb1d3de593e806e2fac4f14905cf1851cb6fcb4", "fetched_at": "2026-08-29T07:52:08.767887+00:00", "kind": "homepage", "missing": false, "url": "http://itchat.readthedocs.io"}, {"content_hash": "09174e536cef226bfa9ca193576e732bee4a514ab6ed46da44621de01abd0c82", "fetched_at": "2026-08-29T07:52:08.771365+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/itchat/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:55:52.116580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f77a2218b48c72e0adb0305ebcabd7e4e7910f738ca76e7c3d2cefe40d4a6a4", "fetched_at": "2026-08-28T04:11:46.962565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littlecodersh/ItChat"}, {"content_hash": "18a8512c6d79c9cd94bad878cdb1d3de593e806e2fac4f14905cf1851cb6fcb4", "fetched_at": "2026-08-29T07:52:08.767887+00:00", "kind": "homepage", "missing": false, "url": "http://itchat.readthedocs.io"}, {"content_hash": "09174e536cef226bfa9ca193576e732bee4a514ab6ed46da44621de01abd0c82", "fetched_at": "2026-08-29T07:52:08.771365+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/itchat/json"}], "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:11:46.962565+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:46.962565+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:46.962565+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:55:52.116580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f77a2218b48c72e0adb0305ebcabd7e4e7910f738ca76e7c3d2cefe40d4a6a4", "fetched_at": "2026-08-28T04:11:46.962565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littlecodersh/ItChat"}, {"content_hash": "18a8512c6d79c9cd94bad878cdb1d3de593e806e2fac4f14905cf1851cb6fcb4", "fetched_at": "2026-08-29T07:52:08.767887+00:00", "kind": "homepage", "missing": false, "url": "http://itchat.readthedocs.io"}, {"content_hash": "09174e536cef226bfa9ca193576e732bee4a514ab6ed46da44621de01abd0c82", "fetched_at": "2026-08-29T07:52:08.771365+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/itchat/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:46.962565+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:46.962565+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:55:52.116580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f77a2218b48c72e0adb0305ebcabd7e4e7910f738ca76e7c3d2cefe40d4a6a4", "fetched_at": "2026-08-28T04:11:46.962565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littlecodersh/ItChat"}, {"content_hash": "18a8512c6d79c9cd94bad878cdb1d3de593e806e2fac4f14905cf1851cb6fcb4", "fetched_at": "2026-08-29T07:52:08.767887+00:00", "kind": "homepage", "missing": false, "url": "http://itchat.readthedocs.io"}, {"content_hash": "09174e536cef226bfa9ca193576e732bee4a514ab6ed46da44621de01abd0c82", "fetched_at": "2026-08-29T07:52:08.771365+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/itchat/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:46.962565+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:46.962565+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:46.962565+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:55:52.116580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f77a2218b48c72e0adb0305ebcabd7e4e7910f738ca76e7c3d2cefe40d4a6a4", "fetched_at": "2026-08-28T04:11:46.962565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littlecodersh/ItChat"}, {"content_hash": "18a8512c6d79c9cd94bad878cdb1d3de593e806e2fac4f14905cf1851cb6fcb4", "fetched_at": "2026-08-29T07:52:08.767887+00:00", "kind": "homepage", "missing": false, "url": "http://itchat.readthedocs.io"}, {"content_hash": "09174e536cef226bfa9ca193576e732bee4a514ab6ed46da44621de01abd0c82", "fetched_at": "2026-08-29T07:52:08.771365+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/itchat/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:46.962565+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:46.962565+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:55:52.116580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f77a2218b48c72e0adb0305ebcabd7e4e7910f738ca76e7c3d2cefe40d4a6a4", "fetched_at": "2026-08-28T04:11:46.962565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littlecodersh/ItChat"}, {"content_hash": "18a8512c6d79c9cd94bad878cdb1d3de593e806e2fac4f14905cf1851cb6fcb4", "fetched_at": "2026-08-29T07:52:08.767887+00:00", "kind": "homepage", "missing": false, "url": "http://itchat.readthedocs.io"}, {"content_hash": "09174e536cef226bfa9ca193576e732bee4a514ab6ed46da44621de01abd0c82", "fetched_at": "2026-08-29T07:52:08.771365+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/itchat/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:55:52.116580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f77a2218b48c72e0adb0305ebcabd7e4e7910f738ca76e7c3d2cefe40d4a6a4", "fetched_at": "2026-08-28T04:11:46.962565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littlecodersh/ItChat"}, {"content_hash": "18a8512c6d79c9cd94bad878cdb1d3de593e806e2fac4f14905cf1851cb6fcb4", "fetched_at": "2026-08-29T07:52:08.767887+00:00", "kind": "homepage", "missing": false, "url": "http://itchat.readthedocs.io"}, {"content_hash": "09174e536cef226bfa9ca193576e732bee4a514ab6ed46da44621de01abd0c82", "fetched_at": "2026-08-29T07:52:08.771365+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/itchat/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:55:52.116580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f77a2218b48c72e0adb0305ebcabd7e4e7910f738ca76e7c3d2cefe40d4a6a4", "fetched_at": "2026-08-28T04:11:46.962565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littlecodersh/ItChat"}, {"content_hash": "18a8512c6d79c9cd94bad878cdb1d3de593e806e2fac4f14905cf1851cb6fcb4", "fetched_at": "2026-08-29T07:52:08.767887+00:00", "kind": "homepage", "missing": false, "url": "http://itchat.readthedocs.io"}, {"content_hash": "09174e536cef226bfa9ca193576e732bee4a514ab6ed46da44621de01abd0c82", "fetched_at": "2026-08-29T07:52:08.771365+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/itchat/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:55:52.116580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f77a2218b48c72e0adb0305ebcabd7e4e7910f738ca76e7c3d2cefe40d4a6a4", "fetched_at": "2026-08-28T04:11:46.962565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littlecodersh/ItChat"}, {"content_hash": "18a8512c6d79c9cd94bad878cdb1d3de593e806e2fac4f14905cf1851cb6fcb4", "fetched_at": "2026-08-29T07:52:08.767887+00:00", "kind": "homepage", "missing": false, "url": "http://itchat.readthedocs.io"}, {"content_hash": "09174e536cef226bfa9ca193576e732bee4a514ab6ed46da44621de01abd0c82", "fetched_at": "2026-08-29T07:52:08.771365+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/itchat/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3879, "days_push": 1070, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}