Class RequireUserPermissionAttribute
Requires the user invoking the command to have a specified permission.
[AttributeUsage(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
public class RequireUserPermissionAttribute : PreconditionAttribute
- Inheritance
-
RequireUserPermissionAttribute
- Inherited Members
Constructors
RequireUserPermissionAttribute(ChannelPermission)
Requires that the user invoking the command to have a specific ChannelPermission.
public RequireUserPermissionAttribute(ChannelPermission permission)
Parameters
permission
ChannelPermissionThe ChannelPermission that the user must have. Multiple permissions can be specified by ORing the permissions together.
RequireUserPermissionAttribute(GuildPermission)
Requires that the user invoking the command to have a specific GuildPermission.
public RequireUserPermissionAttribute(GuildPermission permission)
Parameters
permission
GuildPermissionThe GuildPermission that the user must have. Multiple permissions can be specified by ORing the permissions together.
Remarks
This precondition will always fail if the command is being invoked in a IPrivateChannel.
Properties
ChannelPermission
Gets the specified ChannelPermission of the precondition.
public ChannelPermission? ChannelPermission { get; }
Property Value
ErrorMessage
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.
public override string ErrorMessage { get; set; }
Property Value
GuildPermission
Gets the specified GuildPermission of the precondition.
public GuildPermission? GuildPermission { get; }
Property Value
NotAGuildErrorMessage
Gets or sets the error message if the precondition fails due to being run outside of a Guild channel.
public string NotAGuildErrorMessage { get; set; }
Property Value
Methods
CheckPermissionsAsync(ICommandContext, CommandInfo, IServiceProvider)
Checks if the command
has the sufficient permission to be executed.
public override Task<PreconditionResult> CheckPermissionsAsync(ICommandContext context, CommandInfo command, IServiceProvider services)
Parameters
context
ICommandContextThe context of the command.
command
CommandInfoThe command being executed.
services
IServiceProviderThe service collection used for dependency injection.