using System; using System.Threading.Tasks; namespace Discord.Commands { [AttributeUsage(AttributeTargets.Parameter, AllowMultiple = true)] public abstract class ParameterPreconditionAttribute : Attribute { public abstract Task CheckPermissionsAsync(ICommandContext context, ParameterInfo parameter, object value, IServiceProvider services); } }