Table of Contents

Class RequireUserPermissionAttribute

Namespace
Discord.Commands
Assembly
Discord.Net.Commands.dll

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 ChannelPermission

The 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 GuildPermission

The 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

ChannelPermission?

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

string

GuildPermission

Gets the specified GuildPermission of the precondition.

public GuildPermission? GuildPermission { get; }

Property Value

GuildPermission?

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

string

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 ICommandContext

The context of the command.

command CommandInfo

The command being executed.

services IServiceProvider

The service collection used for dependency injection.

Returns

Task<PreconditionResult>