• 名称: DW权限系统
  • 作者: AmberKeter
  • 版本: 1.0.2
  • 兼容版本: all
  • 平台: all
  • 操作系统: all
  • 前置插件: User
  • 仓库地址: MobiusOlivOSPlugin

下载

level.zip
6kB

说明

本插件基于[User](https://forum.olivos.run/d/50-dreamworld)系统实现了各用户权限的定义与修改,为DW系列插件提供基础性数据支持。
指令前缀:*level
指令表:

指令格式说明
info获取用户权限数据
set [target] [level]将[target]的权限设置为[level]
help [entry]获取[entry]的详细信息。如:*level help info

[target]使用MID(MobiusID)格式,可以使用四种方法指示对应用户,格式如下:

格式说明
@本格式为响应平台的@操作
uuid用户的唯一识别码,使用标准uuid格式(8-4-4-4-12)
[platform]-[id]平台-账号的形式,用于指定其他平台账户。如:qq-1761089294
[id]传统账号格式,只支持指定当前平台账户。如:1761089294

其中,[platform]代表目标账户的平台,[id]代表目标的账户,若使用第四种格式,则[platform]默认为当前平台。
特别声明,权限的修改需要Admin及以上权限,在最初始的情况下(即数据中不存在任何用户权限的情况下),只有骰主可以使用指令修改他人权限,因此该插件一定程度上依赖OlivaDiceCore

截图示例

Image description
Image description

文件格式

Level插件共有两个data文件,存储于plugin/data/DreamWorld/Level下,为Data.jsonConfig.json,其中Data文件为用户权限数据文件,一般情况下不应有任何改动(手动修改权限时除外,但不建议使用该方法),Config文件为配置文件,内含回复词与权限定义在内的所有数据,一般情况下不建议在运行目录下改动(读写发生错误时将以初始格式覆盖),建议本地留档,以防未知错误导致覆写。

Config文件格式

Image description

键名默认值数据类型说明
Default0int权限默认值,即用户初始权限
Reply见上图str回复语句,其中nick代表用户名,self代表骰子名,level代表权限单元,由于无法确保self值一定存在,请尽量避免使用
Separator-str分隔符,默认情况下权限单元{level}{Separator}{name},如0-游客
Level见上图dict权限定义
List见上图dict管理权限定义
Help见上图dictHelp数据定义

Level单元格式

键名:为一个数字,代表权限等级,如0
:共两个可填字段,分别为nameinfo
name:权限名,被用于权限单元生成,缺失时权限单元格式变为{level},如0
info:权限说明,被用于回复词生成,将被添加在回复语句最后。

List单元格式

该字典下有且仅允许有三个单元,分别为UserAdminMaster
其值均为列表,且列表元素均为int,指明哪些权限位于该身份组下(默认为User
"Master":[3],则代表权限3为Master权限。
该身份组仅用于判定是否有权限更改他人权限

说点什么吧...