Permission

一个抽象的「权限」. 由 PermissionService 实现不同, Permission 可能会有多种实例. 但一个权限总是拥有确定的 id.

在匹配权限时, 应使用唯一的 id 作为依据. 而不应该使用 Permission 实例. 同时, Permission 也不适合存储.

注意: 请不要手动实现这个接口. 总是从 PermissionService.register 获得实例.

获取 Permission

根权限

RootPermission 是所有权限的父权限.

指令的权限

每个指令都拥有一个 Command.permission.

BuiltInCommands.parentPermission 为所有内建指令的权限.

手动申请权限

PermissionService.register

Types

Link copied to clipboard
object Companion

Functions

Properties

Link copied to clipboard
abstract val description: String

描述信息. 描述信息在注册权限时强制提供.

Link copied to clipboard
abstract val id: PermissionId

唯一识别 ID. 所有权限的 id 都互不相同.

Link copied to clipboard
abstract val parent: Permission

父权限.

Link copied to clipboard

递归获取 Permission.parent, permission.parent.parent, permission.parent.parent.parent` ... 直到 Permission.parent 为它自己.