| @@ -75,9 +75,9 @@ namespace Discord.Commands | |||||
| _checks.Add(check); | _checks.Add(check); | ||||
| return this; | return this; | ||||
| } | } | ||||
| public CommandBuilder AddCheck(Func<Command, User, Channel, bool> checkFunc) | |||||
| public CommandBuilder AddCheck(Func<Command, User, Channel, bool> checkFunc, string errorMsg = null) | |||||
| { | { | ||||
| _checks.Add(new GenericPermissionChecker(checkFunc)); | |||||
| _checks.Add(new GenericPermissionChecker(checkFunc, errorMsg)); | |||||
| return this; | return this; | ||||
| } | } | ||||
| @@ -140,9 +140,9 @@ namespace Discord.Commands | |||||
| { | { | ||||
| _checks.Add(checker); | _checks.Add(checker); | ||||
| } | } | ||||
| public void AddCheck(Func<Command, User, Channel, bool> checkFunc) | |||||
| public void AddCheck(Func<Command, User, Channel, bool> checkFunc, string errorMsg = null) | |||||
| { | { | ||||
| _checks.Add(new GenericPermissionChecker(checkFunc)); | |||||
| _checks.Add(new GenericPermissionChecker(checkFunc, errorMsg)); | |||||
| } | } | ||||
| public CommandGroupBuilder CreateGroup(string cmd, Action<CommandGroupBuilder> config = null) | public CommandGroupBuilder CreateGroup(string cmd, Action<CommandGroupBuilder> config = null) | ||||
| @@ -5,15 +5,17 @@ namespace Discord.Commands.Permissions | |||||
| internal class GenericPermissionChecker : IPermissionChecker | internal class GenericPermissionChecker : IPermissionChecker | ||||
| { | { | ||||
| private readonly Func<Command, User, Channel, bool> _checkFunc; | private readonly Func<Command, User, Channel, bool> _checkFunc; | ||||
| private readonly string _error; | |||||
| public GenericPermissionChecker(Func<Command, User, Channel, bool> checkFunc) | |||||
| public GenericPermissionChecker(Func<Command, User, Channel, bool> checkFunc, string error = null) | |||||
| { | { | ||||
| _checkFunc = checkFunc; | _checkFunc = checkFunc; | ||||
| _error = error; | |||||
| } | } | ||||
| public bool CanRun(Command command, User user, Channel channel, out string 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); | return _checkFunc(command, user, channel); | ||||
| } | } | ||||
| } | } | ||||