{"adoption": {"forks": 409, "observed_at": "2026-08-28T04:04:56.023625+00:00", "stars": 1512}, "canonical_url": "https://ross.abutalabs.com/products/hoshinobot", "card": {"archived": false, "artifact_type": "framework", "description": "A qqbot for Princess Connect Re:Dive (and other usage :)", "domain": ["chatbots", "gaming-tools", "developer-tools"], "enriched": true, "function": ["chatbot", "webhook", "plugin-system", "scheduling"], "health_score": 54, "homepage": null, "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["Ice9Coffee/HoshinoBot"], "name": "Ice9Coffee/HoshinoBot", "platform": ["python", "cli"], "pushed_at": "2025-12-12T16:46:10+00:00", "repo": "Ice9Coffee/HoshinoBot", "stars": 1512, "tags": ["qqbot", "nonebot", "princess-connect-redive", "kancolle", "gacha-simulator", "clan-battle", "anime-subscription", "group-chat-bot", "automation", "linux"], "topics": ["bot", "qqbot", "princess-connect-redive", "nonebot"], "urls": [], "use_cases": ["run a qq group bot for princess connect re:dive clan battle management", "simulate gacha pulls in a chat group", "query arena defense solutions for pcr", "subscribe to anime episode updates in a qq group", "forward official game twitter posts to a chat group", "build a plugin-based qq chatbot on nonebot", "manage group member welcome and leave notifications"], "what_it_is": "HoshinoBot is an open-source QQ group chat bot framework built on Nonebot, primarily serving Princess Connect Re:Dive players with features like gacha simulation, arena query, and clan battle management. It also includes general utilities such as anime subscription feeds, welcome messages, dice rolls, and translation, with per-group module toggles.", "when_to_avoid": ["you need a bot for platforms other than QQ (e.g. Discord or Slack)", "you want a maintained headless QQ client stack — it depends on gocqhttp, which is no longer maintained", "you need a production-grade, commercially supported chatbot solution"], "when_to_choose": ["you run QQ groups for Princess Connect Re:Dive or KanColle players and want battle/gacha tooling", "you want a Python Nonebot-based bot framework with modular per-group feature toggles", "you need clan battle (公会战) management and arena query features out of the box"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/hoshinobot", "repo": "Ice9Coffee/HoshinoBot", "role": "main", "score": 48}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.023625+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.664852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7ceb1430fb7df3b419f6e312538e27720a0cb61e5016b8496809b9649f233ef", "fetched_at": "2026-08-28T04:04:56.023625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ice9Coffee/HoshinoBot"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.023625+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.664852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7ceb1430fb7df3b419f6e312538e27720a0cb61e5016b8496809b9649f233ef", "fetched_at": "2026-08-28T04:04:56.023625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ice9Coffee/HoshinoBot"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.664852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7ceb1430fb7df3b419f6e312538e27720a0cb61e5016b8496809b9649f233ef", "fetched_at": "2026-08-28T04:04:56.023625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ice9Coffee/HoshinoBot"}], "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:56.023625+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.023625+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.023625+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.664852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7ceb1430fb7df3b419f6e312538e27720a0cb61e5016b8496809b9649f233ef", "fetched_at": "2026-08-28T04:04:56.023625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ice9Coffee/HoshinoBot"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.023625+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.023625+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.664852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7ceb1430fb7df3b419f6e312538e27720a0cb61e5016b8496809b9649f233ef", "fetched_at": "2026-08-28T04:04:56.023625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ice9Coffee/HoshinoBot"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.023625+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.023625+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.023625+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.664852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7ceb1430fb7df3b419f6e312538e27720a0cb61e5016b8496809b9649f233ef", "fetched_at": "2026-08-28T04:04:56.023625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ice9Coffee/HoshinoBot"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.023625+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.023625+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.664852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7ceb1430fb7df3b419f6e312538e27720a0cb61e5016b8496809b9649f233ef", "fetched_at": "2026-08-28T04:04:56.023625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ice9Coffee/HoshinoBot"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.664852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7ceb1430fb7df3b419f6e312538e27720a0cb61e5016b8496809b9649f233ef", "fetched_at": "2026-08-28T04:04:56.023625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ice9Coffee/HoshinoBot"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.664852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7ceb1430fb7df3b419f6e312538e27720a0cb61e5016b8496809b9649f233ef", "fetched_at": "2026-08-28T04:04:56.023625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ice9Coffee/HoshinoBot"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.664852+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7ceb1430fb7df3b419f6e312538e27720a0cb61e5016b8496809b9649f233ef", "fetched_at": "2026-08-28T04:04:56.023625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ice9Coffee/HoshinoBot"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 56, "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": 2539, "days_push": 264, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 48, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}