Class RequireContextAttribute
要求命令在指定的上下文类型中(例如在服务器内、私聊频道中)执行。
[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
ErrorMessage
获取或设置错误消息。
public override string? ErrorMessage { 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>
一个表示异步检查操作的任务。任务的结果包含先决条件的结果。