Premium Nonebot Plugin Manager
August 18, 2024 · View on GitHub
安装
插件重写中,之前版本的问题不再回复。
从 PyPI 安装(推荐)
- 使用 nb-cli
nb plugin install nonebot-plugin-manager
- 使用 pdm
pdm add nonebot-plugin-manager
从 GitHub 安装(不推荐)
pdm add git+https://github.com/nonepkg/plugin-manager
使用
命令
使用前请先确保命令前缀为空,否则请在以下命令前加上命令前缀 (默认为/)。
-
npm block/disable <plugin ...>禁用插件(需要权限)plugin ...必选参数,需要禁用的插件名-a, --all可选参数,全选插件-r, --reverse可选参数,反选插件-u <user_id ...>, --user <user_id ...>可选参数,管理指定用户设置(仅超级用户可用)-g <group_id ...>, --group <group_id ...>可选参数,管理指定群设置(仅超级用户可用)-
-s|--scope
-
npm unblock/enable <plugin ...>启用插件(需要权限)plugin ...必选参数,需要禁用的插件名-a, --all可选参数,全选插件-r, --reverse可选参数,反选插件-u <user_id ...>, --user <user_id ...>可选参数,管理指定用户设置(仅超级用户可用)-g <group_id ...>, --group <group_id ...>可选参数,管理指定群设置(仅超级用户可用)
-
npm ban <user ...> -
npm unban <user ...>user :ms.at or platform/id
原理
使用run_preprocessor装饰器,在 Matcher 运行之前检测其所属的 Plugin 判断是否打断。
事实上 Nonebot 还是加载了插件,所以只能算是屏蔽而非卸载。
TODO
- 新的权限管理
- 提供自动授予群管理员群内 write 权限的配置项
缺陷
- 无法停用 Matcher 以外的机器人行为(如 APScheduler )
