diff --git a/src/Discord.Net.Commands/Info/CommandInfo.cs b/src/Discord.Net.Commands/Info/CommandInfo.cs index 031d37581..fe325d8fb 100644 --- a/src/Discord.Net.Commands/Info/CommandInfo.cs +++ b/src/Discord.Net.Commands/Info/CommandInfo.cs @@ -63,6 +63,9 @@ namespace Discord.Commands _action = builder.Callback; } + public TPrecondition GetPrecondition() where TPrecondition : PreconditionAttribute => + Preconditions.FirstOrDefault(x => x is TPrecondition) as TPrecondition; + public async Task CheckPreconditionsAsync(ICommandContext context, IDependencyMap map = null) { if (map == null) diff --git a/src/Discord.Net.Commands/Info/ModuleInfo.cs b/src/Discord.Net.Commands/Info/ModuleInfo.cs index a2094df65..3b1b843ae 100644 --- a/src/Discord.Net.Commands/Info/ModuleInfo.cs +++ b/src/Discord.Net.Commands/Info/ModuleInfo.cs @@ -20,6 +20,9 @@ namespace Discord.Commands public ModuleInfo Parent { get; } public bool IsSubmodule => Parent != null; + public TPrecondition GetPrecondition() where TPrecondition : PreconditionAttribute => + Preconditions.FirstOrDefault(x => x is TPrecondition) as TPrecondition; + internal ModuleInfo(ModuleBuilder builder, CommandService service, ModuleInfo parent = null) { Service = service;