Table of Contents

Class RequireUserAttribute

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

要求调用命令的用户具有指定的 ID。

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

Examples

以下代码示例将 admin 命令组限制为仅允许用户 ID 为 2810246202 的用户可以调用。

[RequireUser(2810246202)]
[Group("admin")]
public class AdminModule : ModuleBase
{
    [Command("exit")]
    public async Task ExitAsync()
    {
        await ReplyTextAsync("Goodbye!");
        Environment.Exit(0);
    }
}

Constructors

RequireUserAttribute(ulong)

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

public RequireUserAttribute(ulong userId)

Parameters

userId ulong

所要求调用命令的用户应具有的 ID。

Properties

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>

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