小真寻 的插件权限管理系统,提供了
- 细致的插件开关(全局关闭可以使用群白名单忽略)
- Ban 群组/用户(消息屏蔽)
- 插件 Cd,Count,Block 限制(配置文件)
- 群管监测(权限自动设置)
- 用户权限设置(超级用户设置)
- 一个简单的帮助查看
继承了真寻的优良传统,高贵的超级用户不受权限控制,除非插件额外限制
pip install nonebot-plugin-zxpm
nb plugin install nonebot-plugin-zxpm
Important
ZXPM 对插件进行了分类
NORMAL
: 普通插件,没有特定标记的情况下都为这个类型
ADMIN
: 群组管理员插件
SUPERUSER
: 超级用户插件
SUPER_AND_ADMIN
: 超级用户用于与管理员插件
DEPENDANT
: 依赖插件,一般为没有主动触发命令的插件,受权限控制
HIDDEN
: 隐藏插件,一般为没有主动触发命令的插件,不受权限控制,如消息统计
PARENT
: 父插件,仅仅标记
ZXPM 权限管理严格
普通用户无法查看ADMIN
,SUPERUSER
,SUPER_AND_ADMIN
插件的帮助
权限管理员用户无法查看SUPERUSER
插件的帮助
配置 | 类型 | 默认值 | 说明 |
---|---|---|---|
zxpm_data_path | str | data/zxpm | 数据存储路径 |
zxpm_db_url | str | (zxpm_data_path )/db/zxpm.db |
数据库地址 URL,默认为 sqlite,存储路径在zxpm_data_path 下 |
zxpm_notice_info_cd | int | 300 | 群/用户权限检测等各种检测提示信息 cd,为 0 时或永久 ban 时不提醒 |
zxpm_ban_reply | str | 才不会给你发消息. | 用户被 ban 时回复消息,为空时不回复 |
zxpm_ban_level | int | 5 | 使用 ban 功能的对应权限 |
zxpm_switch_level | int | 1 | 使用开关功能的对应权限 |
zxpm_admin_default_auth | int | 5 | 群组管理员默认权限 |
zxpm_font | str | msyh.ttc | 作图时字体 |
指令 | 格式 | 权限等级 | 参数 | 作用 | 示例 |
---|---|---|---|---|---|
zxpm | zxpm [名称] | 0 | -s | 提供一个简单详情帮助图片 | zxpm Ban : 查看 Ban 的用户帮助 zxpm Ban -s : 查看 Ban 的超级用户帮助zxpm 40 : 查看 id 为 40 的插件帮助(id 通过给 bot 发送插件列表 获取) |
Note
这里的指令只是写了个大概,功能开关指令比较复杂
建议对 bot 发送 zxpm ZXPM插件管理
和 zxpm ZXPM插件管理 -s
来查看详细帮助
ZXPM 内部维护了一个插件数据库,收集所有含有PluginMetaData
的插件
对于其他插件,同样也可以使用zxpm
来获取帮助信息
指令 | 格式 | 权限等级 | 参数 | 作用 | 示例 |
---|---|---|---|---|---|
添加权限 | 添加权限 [level] [at] | SUPERUSER | 为用户提供插件管理等权限 | 添加权限 5 @user |
|
删除权限 | 删除权限 [at] | SUPERUSER | 为用户提供插件管理等权限 | 删除权限 @user |
指令 | 格式 | 权限等级 | 参数 | 作用 | 示例 |
---|---|---|---|---|---|
添加群白名单 | 添加群白名单 ?[gid] | SUPERUSER | 标记群为白名单中 | 添加群白名单 : 在群组中可以不加群号,默认当前群组添加群白名单 123123 : 指定群号 |
|
删除群白名单 | 删除群白名单 ?[gid] | SUPERUSER | 删除群为白名单中 | 同上 |
群组管理员
指令 | 格式 | 权限等级 | 参数 | 作用 | 示例 |
---|---|---|---|---|---|
ban | ban [At 用户] ?[-t [时长(分钟)]] | 5 | -t -g | 屏蔽用户或群组消息,权限等级低无法 Ban 等级高的用户 | ban @用户 : 永久 banban @用户 -t 10 : ban 十分钟 |
unban | unban [At 用户] | 5 | 解除蔽用户或群组消息 @user | unban @用户 : 放出来 |
超级用户
ban [At用户/用户Id] ?[-t [时长]]
unban --id [idx] : 通过id来进行unban操作
ban列表: 获取所有Ban数据
群组ban列表: 获取群组Ban数据
用户ban列表: 获取用户Ban数据
ban列表 -u [用户Id]: 查找指定用户ban数据
ban列表 -g [群组Id]: 查找指定群组ban数据
示例:
ban列表 -u 123456789 : 查找用户123456789的ban数据
ban列表 -g 123456789 : 查找群组123456789的ban数据
私聊下:
示例:
ban 123456789 : 永久拉黑用户123456789
ban 123456789 -t 100 : 拉黑用户123456789 100分钟
ban -g 999999 : 拉黑群组为999999的群组
ban -g 999999 -t 100 : 拉黑群组为999999的群组 100分钟
unban 123456789 : 从小黑屋中拉出来
unban -g 999999 : 将群组9999999从小黑屋中拉出来
群组管理员
格式:
开启/关闭[功能名称] : 开关功能
开启/关闭所有插件 : 开启/关闭当前群组所有插件状态
醒来 : 结束休眠
休息吧 : 群组休眠, 不会再响应命令
示例:
开启签到 : 开启签到
关闭签到 : 关闭签到
超级用户
插件列表
开启/关闭[功能名称] ?[-t ["private", "p", "group", "g"](关闭类型)] ?[-g 群组Id]
开启/关闭插件df[功能名称]: 开启/关闭指定插件进群默认状态
= 开启插件echo -df
= 关闭插件echo -df
开启/关闭所有插件df: 开启/关闭所有插件进群默认状态
开启/关闭所有插件:
私聊中: 开启/关闭所有插件全局状态
群组中: 开启/关闭当前群组所有插件状态
私聊下:
示例:
开启签到 : 全局开启签到
关闭签到 : 全局关闭签到
关闭签到 -t p : 全局私聊关闭签到
关闭签到 -g 12345678 : 关闭群组12345678的签到功能(普通管理员无法开启)
可修改配置文件
在(zxpm_data_path)/configs
路径下有以 下 3 个配置文件,且文件中已提供参数解释
默认路径: data/zxpm/configs
-
plugin2block.yaml
: 插件阻塞配置 例如:sign_in: status: true check_type: ALL watch_type: USER result: "你签那么快干什么啦"
-
plugin2cd.yaml
: 插件 CD 配置 例如:sign_in: status: true check_type: ALL watch_type: USER result: 告辞 cd: 12
-
plugin2count.yaml
: 插件每日次数配置 例如:help: status: false watch_type: GROUP result: 再看就揍死你 max_count: 2
- 可爱的小真寻 Bot
zhenxun_bot
: 我谢我自己,桀桀桀