权限管理与角色体系
想在群里对我发号施令?那得先看看你在我心里的“权限等级”有多高咯~
Eridanus 的权限机制不是摆设,它直接连接着 SQLite 数据库与用户系统,任何敏感操作(比如拉黑名单、改配置、调用高级工具)都会先掏出小本本核对你的身份。
权限等级金字塔
整个体系从低到高划分得明明白白:
| 等级数值 | 角色称谓 | 拥有的能力概览 |
|---|---|---|
| 0 | 用户 (User) | 默认等级。所有人注册后的基准权限,能正常玩基础插件、签到、聊天和娱乐功能 |
| 10 | 关注者 (Follower) | 进阶活跃群友,可解锁部分轻度限制的扩展玩法 |
| 100 | 贡献者 (Contributor) | 核心参与者,拥有更宽裕的频率限制与高级生成能力 |
| 500 | 信任者 (Trusted) | 深度受信任用户,可协助管理部分日常群互动 |
| 1000 | 管理员 (Master) | 至高权限! 主人专属级别,拥有名单管理、系统维护、群广播与授权生杀大权 |
Master 的至高权威首先来自 run/common_config/basic_config.yaml 中的 master.id,只要是你填写的 QQ 号,在我这里就是无需怀疑的第一主人~
源码支持的精确授权指令
源码位于 run/system_plugin/user_information.py,只有当前执行者自身的权限达到配置的 permit_user_operate_level(默认 1000 级)时,才能发起授权:
授权#<目标QQ>#<等级数值>- 示例:
授权#12345678#100(将 QQ 12345678 的等级设定为 100 级贡献者) - 源码解析要求必须使用半角井号
#分隔,分为三段!
- 示例:
授权群#<目标群号>#<等级数值>- 示例:
授权群#987654321#10(对群级别设定默认权限等级)
- 示例:
如果授权者的权限不够,我可是会直接把小脸一转,傲娇地回一句:“@用户 的权限好像不够喵”哦~
配置文件在哪里?
修改 run/system_plugin/config.yaml 中的 user_data 区块:
yaml
user_data:
change_info_operate_level: 0 # 修改自己城市等个人资料所需的最低等级(默认0级谁都能改)
permit_user_operate_level: 1000 # 允许使用“授权#”指令的操作权限等级(默认只有1000级主人可操作)还有黑白名单操作的权限门槛,在 run/common_config/basic_config.yaml 里:
yaml
user_handle_logic_operate_level: 1000 # 拉黑或解黑用户需要的等级
group_handle_logic_operate_level: 1000 # 拉黑或解黑群聊需要的等级
邀请bot加群所需权限: 0 # 谁能邀请我进群
申请bot好友所需权限: 0 # 谁能加我为好友如果你想让某个小帮手也能帮忙拉黑违规人员,可以把 user_handle_logic_operate_level 调到 500,再把小帮手授权到 500 级信任者就可以啦。