Table of Contents

Class RequireNsfwAttribute

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

Requires the command to be invoked in a channel marked NSFW.

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

Examples

The following example restricts the command too-cool to an NSFW-enabled channel only.

public class DankModule : ModuleBase
{
    [Command("cool")]
    public Task CoolAsync()
        => ReplyAsync("I'm cool for everyone.");

    [RequireNsfw]
    [Command("too-cool")]
    public Task TooCoolAsync()
        => ReplyAsync("You can only see this if you're cool enough.");
}

Remarks

The precondition will restrict the access of the command or module to be accessed within a guild channel that has been marked as mature or NSFW. If the channel is not of type ITextChannel or the channel is not marked as NSFW, the precondition will fail with an erroneous PreconditionResult.

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>