diff --git a/src/Discord.Net.Commands/CommandBuilder.cs b/src/Discord.Net.Commands/CommandBuilder.cs index a4cc66fd4..6b29cd893 100644 --- a/src/Discord.Net.Commands/CommandBuilder.cs +++ b/src/Discord.Net.Commands/CommandBuilder.cs @@ -75,9 +75,9 @@ namespace Discord.Commands _checks.Add(check); return this; } - public CommandBuilder AddCheck(Func checkFunc) + public CommandBuilder AddCheck(Func checkFunc, string errorMsg = null) { - _checks.Add(new GenericPermissionChecker(checkFunc)); + _checks.Add(new GenericPermissionChecker(checkFunc, errorMsg)); return this; } @@ -140,9 +140,9 @@ namespace Discord.Commands { _checks.Add(checker); } - public void AddCheck(Func checkFunc) + public void AddCheck(Func checkFunc, string errorMsg = null) { - _checks.Add(new GenericPermissionChecker(checkFunc)); + _checks.Add(new GenericPermissionChecker(checkFunc, errorMsg)); } public CommandGroupBuilder CreateGroup(string cmd, Action config = null) diff --git a/src/Discord.Net.Commands/Permissions/GenericPermissionChecker.cs b/src/Discord.Net.Commands/Permissions/GenericPermissionChecker.cs index 203eac528..05e95ac64 100644 --- a/src/Discord.Net.Commands/Permissions/GenericPermissionChecker.cs +++ b/src/Discord.Net.Commands/Permissions/GenericPermissionChecker.cs @@ -5,15 +5,17 @@ namespace Discord.Commands.Permissions internal class GenericPermissionChecker : IPermissionChecker { private readonly Func _checkFunc; + private readonly string _error; - public GenericPermissionChecker(Func checkFunc) + public GenericPermissionChecker(Func checkFunc, string error = null) { _checkFunc = checkFunc; + _error = error; } public bool CanRun(Command command, User user, Channel channel, out string error) { - error = null; //Use default error text. + error = _error; return _checkFunc(command, user, channel); } }