{"id":34077501,"url":"https://github.com/nonepkg/plugin-manager","last_synced_at":"2025-12-14T10:05:22.728Z","repository":{"id":40249767,"uuid":"345275514","full_name":"nonepkg/plugin-manager","owner":"nonepkg","description":"Premium Nonebot Plugin Manager base on import hook","archived":false,"fork":false,"pushed_at":"2025-10-06T19:05:59.000Z","size":305,"stargazers_count":74,"open_issues_count":3,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-30T12:39:12.537Z","etag":null,"topics":["nonebot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nonepkg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-07T06:31:22.000Z","updated_at":"2025-03-28T12:14:40.000Z","dependencies_parsed_at":"2025-05-05T19:30:27.065Z","dependency_job_id":"73792c48-0ef4-4e8d-a5a1-d7018b38b10b","html_url":"https://github.com/nonepkg/plugin-manager","commit_stats":null,"previous_names":["nonepkg/plugin-manager","jigsaw111/nonebot_plugin_manager","nonepkg/nonebot-plugin-manager"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/nonepkg/plugin-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonepkg%2Fplugin-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonepkg%2Fplugin-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonepkg%2Fplugin-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonepkg%2Fplugin-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nonepkg","download_url":"https://codeload.github.com/nonepkg/plugin-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonepkg%2Fplugin-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27725961,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-14T02:00:11.348Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nonebot"],"created_at":"2025-12-14T10:05:18.749Z","updated_at":"2025-12-14T10:05:22.722Z","avatar_url":"https://github.com/nonepkg.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/nonepkg/plugin-manager/master/docs/logo.png\" alt=\"logo\"\u003e\u003c/br\u003e\n\n# Premium Nonebot Plugin Manager\n\n[NoneBot 2](https://github.com/nonebot/nonebot2) 的**非侵入式**插件管理器\n\n[![License](https://img.shields.io/github/license/Jigsaw111/nonebot_plugin_manager)](LICENSE)\n![Python Version](https://img.shields.io/badge/python-3.9+-blue.svg)\n![NoneBot Version](https://img.shields.io/badge/nonebot-2.2.1+-red.svg)\n![Pypi Version](https://img.shields.io/pypi/v/nonebot-plugin-manager.svg)\n\n\u003c/div\u003e\n\n## 安装\n\n*插件重写中，之前版本的问题不再回复。*\n\n### 从 PyPI 安装（推荐）\n\n- 使用 nb-cli\n\n```bash\nnb plugin install nonebot-plugin-manager\n```\n\n- 使用 pdm\n\n```bash\npdm add nonebot-plugin-manager\n```\n\n### 从 GitHub 安装（不推荐）\n\n```bash\npdm add git+https://github.com/nonepkg/plugin-manager\n```\n\n## 使用\n\n### 命令\n\n**使用前请先确保命令前缀为空，否则请在以下命令前加上命令前缀 (默认为`/`)。**\n\n- `npm block/disable \u003cplugin ...\u003e`禁用插件（需要权限）\n  - `plugin ...`必选参数，需要禁用的插件名\n  - `-a, --all`可选参数，全选插件\n  - `-r, --reverse`可选参数，反选插件\n  - `-u \u003cuser_id ...\u003e, --user \u003cuser_id ...\u003e`可选参数，管理指定用户设置（仅超级用户可用）\n  - `-g \u003cgroup_id ...\u003e, --group \u003cgroup_id ...\u003e`可选参数，管理指定群设置（仅超级用户可用）\n  - [ ] `-s|--scope`\n\n- `npm unblock/enable \u003cplugin ...\u003e`启用插件（需要权限）\n  - `plugin ...`必选参数，需要禁用的插件名\n  - `-a, --all`可选参数，全选插件\n  - `-r, --reverse`可选参数，反选插件\n  - `-u \u003cuser_id ...\u003e, --user \u003cuser_id ...\u003e`可选参数，管理指定用户设置（仅超级用户可用）\n  - `-g \u003cgroup_id ...\u003e, --group \u003cgroup_id ...\u003e`可选参数，管理指定群设置（仅超级用户可用）\n\n- [ ] `npm ban \u003cuser ...\u003e`\n- [ ] `npm unban \u003cuser ...\u003e`\n  user :ms.at or platform/id\n\n## 原理\n\n使用`run_preprocessor`装饰器，在 Matcher 运行之前检测其所属的 Plugin 判断是否打断。\n\n事实上 Nonebot 还是加载了插件，所以只能算是**屏蔽**而非**卸载**。\n\n## TODO\n\n- [ ] 新的权限管理\n- [ ] 提供自动授予群管理员群内 write 权限的配置项\n\n## 缺陷\n\n- 无法停用 Matcher 以外的机器人行为（如 APScheduler ）\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnonepkg%2Fplugin-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnonepkg%2Fplugin-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnonepkg%2Fplugin-manager/lists"}