Table of Contents

Class RequireBotPermissionAttribute

Namespace
Discord.Interactions
Assembly
Discord.Net.Interactions.dll

Requires the bot to have a specific permission in the channel a command is invoked in.

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

Constructors

RequireBotPermissionAttribute(ChannelPermission)

Requires that the bot account to have a specific ChannelPermission.

public RequireBotPermissionAttribute(ChannelPermission permission)

Parameters

permission ChannelPermission

The ChannelPermission that the bot must have. Multiple permissions can be specified by ORing the permissions together.

RequireBotPermissionAttribute(GuildPermission)

Requires the bot account to have a specific GuildPermission.

public RequireBotPermissionAttribute(GuildPermission permission)

Parameters

permission GuildPermission

The GuildPermission that the bot 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?

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

CheckRequirementsAsync(IInteractionContext, ICommandInfo, IServiceProvider)

Checks if the commandInfo command to be executed meets the precondition requirements.

public override Task<PreconditionResult> CheckRequirementsAsync(IInteractionContext context, ICommandInfo command, IServiceProvider services)

Parameters

context IInteractionContext

The context of the command.

command ICommandInfo
services IServiceProvider

The service collection used for dependency injection.

Returns

Task<PreconditionResult>