Table of Contents

Class RequireBotPermissionAttribute

Namespace
Kook.Commands
Assembly
Kook.Net.Commands.dll

要求当前用户在命令调用所在的的频道或服务器拥有指定的权限。

[AttributeUsage(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple = true)]
public class RequireBotPermissionAttribute : PreconditionAttribute
Inheritance
RequireBotPermissionAttribute
Inherited Members

Constructors

RequireBotPermissionAttribute(ChannelPermission)

初始化一个 RequireBotPermissionAttribute 类的新实例。

public RequireBotPermissionAttribute(ChannelPermission permission)

Parameters

permission ChannelPermission

所要求当前用户需要在命令调用所在的的服务器频道拥有的权限。

Remarks

设置此先决条件将导致命令在私有频道中无法使用。

RequireBotPermissionAttribute(GuildPermission)

初始化一个 RequireBotPermissionAttribute 类的新实例。

public RequireBotPermissionAttribute(GuildPermission permission)

Parameters

permission GuildPermission

所要求当前用户需要在命令调用所在的的服务器拥有的权限。

Remarks

设置此先决条件将导致命令在私有频道中无法使用。

Properties

ChannelPermission

获取此先决条件所要求的频道权限。

public ChannelPermission? ChannelPermission { get; }

Property Value

ChannelPermission?

ErrorMessage

获取或设置错误消息。

public override string? ErrorMessage { get; set; }

Property Value

string

GuildPermission

获取此先决条件所要求的服务器权限。

public GuildPermission? GuildPermission { get; }

Property Value

GuildPermission?

NotAGuildErrorMessage

获取或设置由于在服务器频道外执行命令而导致的先决条件失败的错误消息。

public string? NotAGuildErrorMessage { get; set; }

Property Value

string

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>

一个表示异步检查操作的任务。任务的结果包含先决条件的结果。