Class RequireUserPermissionAttribute
要求调用命令的用户在命令调用所在的的频道或服务器拥有指定的权限。
[AttributeUsage(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple = true)]
public class RequireUserPermissionAttribute : PreconditionAttribute
- Inheritance
-
RequireUserPermissionAttribute
- Inherited Members
Constructors
RequireUserPermissionAttribute(ChannelPermission)
初始化一个 RequireUserPermissionAttribute 类的新实例。
public RequireUserPermissionAttribute(ChannelPermission permission)
Parameters
permission
ChannelPermission所要求当前用户需要在命令调用所在的的频道拥有的权限。
Remarks
设置此先决条件将导致命令在私有频道中无法使用。
RequireUserPermissionAttribute(GuildPermission)
初始化一个 RequireUserPermissionAttribute 类的新实例。
public RequireUserPermissionAttribute(GuildPermission permission)
Parameters
permission
GuildPermission所要求调用命令的用户需要在命令调用所在的的服务器拥有的权限。
Remarks
设置此先决条件将导致命令在私有频道中无法使用。
Properties
ChannelPermission
获取此先决条件所要求的频道权限。
public ChannelPermission? ChannelPermission { get; }
Property Value
ErrorMessage
获取或设置错误消息。
public override string? ErrorMessage { get; set; }
Property Value
GuildPermission
获取此先决条件所要求的服务器权限。
public GuildPermission? GuildPermission { get; }
Property Value
NotAGuildErrorMessage
获取或设置由于在服务器频道外执行命令而导致的先决条件失败的错误消息。
public string? NotAGuildErrorMessage { get; set; }
Property Value
Methods
CheckPermissionsAsync(ICommandContext, CommandInfo, IServiceProvider)
检查命令执行上下文中的此命令是否满足此先决条件。
public override Task<PreconditionResult> CheckPermissionsAsync(ICommandContext context, CommandInfo command, IServiceProvider services)
Parameters
context
ICommandContext命令执行上下文。
command
CommandInfo要执行的命令。
services
IServiceProvider依赖注入服务容器。
Returns
- Task<PreconditionResult>
一个表示异步检查操作的任务。任务的结果包含先决条件的结果。