Class PreconditionAttribute
- Namespace
- Discord.Interactions
- Assembly
- Discord.Net.Interactions.dll
Requires the module or class to pass the specified precondition before execution can begin.
[AttributeUsage(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
public abstract class PreconditionAttribute : Attribute
- Inheritance
-
PreconditionAttribute
- Derived
- Inherited Members
Properties
ErrorMessage
Gets the error message to be returned if execution context doesn't pass the precondition check.
public virtual string ErrorMessage { get; }
Property Value
Remarks
When overridden in a derived class, uses the supplied string as the error message if the precondition doesn't pass. Setting this for a class that doesn't override this property is a no-op.
Group
Gets the group that this precondition belongs to.
public string Group { get; set; }
Property Value
Remarks
Preconditions of the same group require only one of the preconditions to pass in order to be successful (A || B). Specifying Group = null or not at all will require all preconditions to pass, just like normal (A && B).
Methods
CheckRequirementsAsync(IInteractionContext, ICommandInfo, IServiceProvider)
Checks if the commandInfo
command to be executed meets the precondition requirements.
public abstract Task<PreconditionResult> CheckRequirementsAsync(IInteractionContext context, ICommandInfo commandInfo, IServiceProvider services)
Parameters
context
IInteractionContextThe context of the command.
commandInfo
ICommandInfoThe command being executed.
services
IServiceProviderThe service collection used for dependency injection.