{"adoption": {"forks": 448, "observed_at": "2026-08-28T04:04:34.655015+00:00", "stars": 1383}, "canonical_url": "https://ross.abutalabs.com/products/youxiang-itchat", "card": {"archived": false, "artifact_type": "application", "description": "无视微信Web无法登录问题。获取淘宝优惠券、京东优惠券、拼多多（多多客）优惠券、苏宁易购优惠券、唯品会优惠券，通过接入淘宝联盟、京东联盟、拼多多（多多进宝）、苏宁联盟（苏宁推客）、唯品会及其对应的开放平台，获取优惠商品图片和对应商品信息，利用微信机器人推送到指定群聊。", "domain": ["e-commerce", "messaging-platforms", "chatbots"], "enriched": true, "function": ["chatbot", "scheduling", "workflow-automation", "http-client"], "health_score": 76, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["why2lyj/youxiang-Itchat"], "name": "why2lyj/youxiang-Itchat", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-07-21T11:44:28+00:00", "repo": "why2lyj/youxiang-Itchat", "stars": 1383, "tags": ["wechat-bot", "coupon-distribution", "affiliate-marketing", "itchat", "taobao", "jd", "pinduoduo", "suning", "vipshop", "deal-sharing", "automation"], "topics": ["taobao", "wechat", "coupon", "auto", "bot", "wechat-bot", "python3", "pinduoduo", "jingdong", "suning", "suning-sdk", "itchat"], "urls": [], "use_cases": ["automatically post taobao coupon deals to wechat groups", "run a wechat robot that shares jd affiliate links", "schedule pinduoduo discount pushes to group chats", "bypass wechat web login blocked for bots", "auto-reply to group mentions with a wechat bot", "build a personal deal-sharing bot from affiliate open platform apis"], "what_it_is": "A Python WeChat bot that automatically fetches discount coupon deals from affiliate platforms (Taobao, JD, Pinduoduo, Suning, Vipshop) and pushes product images and promo links to designated WeChat group chats on a schedule. It works around WeChat Web login restrictions via the itchat-uos fork and includes auto-reply features for groups and friends.", "when_to_avoid": ["you need official or ToS-compliant WeChat automation - web-protocol bots risk account bans", "you need Pinduoduo or Vipshop support working out of the box (incomplete/unavailable)", "you want a maintained library with a license - this repo has none", "you need platforms beyond Chinese e-commerce affiliates"], "when_to_choose": ["you want scheduled affiliate coupon pushes to WeChat groups without manual work", "you need a WeChat bot that still works when standard WeChat Web login is unavailable", "you already have affiliate app_key/secret credentials for Taobao, JD, or Suning"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/youxiang-itchat", "repo": "why2lyj/youxiang-Itchat", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.655015+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:40:04.622692+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71b385f6da9724f104a5e02ed5385cc94f00f1a373a1787cb24eec2b91ee072e", "fetched_at": "2026-08-28T04:04:34.655015+00:00", "kind": "readme", "missing": false, "url": "https://github.com/why2lyj/youxiang-Itchat"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.655015+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:40:04.622692+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71b385f6da9724f104a5e02ed5385cc94f00f1a373a1787cb24eec2b91ee072e", "fetched_at": "2026-08-28T04:04:34.655015+00:00", "kind": "readme", "missing": false, "url": "https://github.com/why2lyj/youxiang-Itchat"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:40:04.622692+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71b385f6da9724f104a5e02ed5385cc94f00f1a373a1787cb24eec2b91ee072e", "fetched_at": "2026-08-28T04:04:34.655015+00:00", "kind": "readme", "missing": false, "url": "https://github.com/why2lyj/youxiang-Itchat"}], "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:34.655015+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.655015+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.655015+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:40:04.622692+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71b385f6da9724f104a5e02ed5385cc94f00f1a373a1787cb24eec2b91ee072e", "fetched_at": "2026-08-28T04:04:34.655015+00:00", "kind": "readme", "missing": false, "url": "https://github.com/why2lyj/youxiang-Itchat"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.655015+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.655015+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:40:04.622692+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71b385f6da9724f104a5e02ed5385cc94f00f1a373a1787cb24eec2b91ee072e", "fetched_at": "2026-08-28T04:04:34.655015+00:00", "kind": "readme", "missing": false, "url": "https://github.com/why2lyj/youxiang-Itchat"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.655015+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.655015+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.655015+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:40:04.622692+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71b385f6da9724f104a5e02ed5385cc94f00f1a373a1787cb24eec2b91ee072e", "fetched_at": "2026-08-28T04:04:34.655015+00:00", "kind": "readme", "missing": false, "url": "https://github.com/why2lyj/youxiang-Itchat"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.655015+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.655015+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:40:04.622692+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71b385f6da9724f104a5e02ed5385cc94f00f1a373a1787cb24eec2b91ee072e", "fetched_at": "2026-08-28T04:04:34.655015+00:00", "kind": "readme", "missing": false, "url": "https://github.com/why2lyj/youxiang-Itchat"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:40:04.622692+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71b385f6da9724f104a5e02ed5385cc94f00f1a373a1787cb24eec2b91ee072e", "fetched_at": "2026-08-28T04:04:34.655015+00:00", "kind": "readme", "missing": false, "url": "https://github.com/why2lyj/youxiang-Itchat"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:40:04.622692+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71b385f6da9724f104a5e02ed5385cc94f00f1a373a1787cb24eec2b91ee072e", "fetched_at": "2026-08-28T04:04:34.655015+00:00", "kind": "readme", "missing": false, "url": "https://github.com/why2lyj/youxiang-Itchat"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:40:04.622692+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71b385f6da9724f104a5e02ed5385cc94f00f1a373a1787cb24eec2b91ee072e", "fetched_at": "2026-08-28T04:04:34.655015+00:00", "kind": "readme", "missing": false, "url": "https://github.com/why2lyj/youxiang-Itchat"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2281, "days_push": 43, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}