Table of Contents

Class RequireContextAttribute

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

要求命令在指定的上下文类型中(例如在服务器内、私聊频道中)执行。

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

Examples

[Command("secret")]
[RequireContext(ContextType.DM | ContextType.Group)]
public Task PrivateOnlyAsync()
{
    return ReplyTextAsync("shh, this command is a secret");
}

Constructors

RequireContextAttribute(ContextType)

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

public RequireContextAttribute(ContextType contexts)

Parameters

contexts ContextType

命令执行所需的上下文类型。

Properties

Contexts

获取命令执行所需的上下文类型。

public ContextType Contexts { get; }

Property Value

ContextType

ErrorMessage

获取或设置错误消息。

public override string? ErrorMessage { 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>

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