From 80f6cf0803b2b33685bd3d1331a0344b0fe651a7 Mon Sep 17 00:00:00 2001 From: Sean Stoves Date: Mon, 15 Jun 2020 22:05:26 -0400 Subject: [PATCH] Making RequireRole dynamic. --- ChaosBot/Discord/PreConditions/RequireRole.cs | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/ChaosBot/Discord/PreConditions/RequireRole.cs b/ChaosBot/Discord/PreConditions/RequireRole.cs index 1fe9267..fd0b633 100644 --- a/ChaosBot/Discord/PreConditions/RequireRole.cs +++ b/ChaosBot/Discord/PreConditions/RequireRole.cs @@ -14,24 +14,9 @@ public class RequireRole : PreconditionAttribute public override Task CheckPermissionsAsync(ICommandContext context, CommandInfo command, IServiceProvider services) { - string requiredGroup; - if (context.User is SocketGuildUser gUser) { - switch (_role) - { - case "Admin": - requiredGroup = (ConfigurationRepository.GetValue("Role:Admin", context.Guild.Id) != null) ? ConfigurationRepository.GetValue("Role:Admin", context.Guild.Id) : "Admin"; - break; - case "Officer": - requiredGroup = (ConfigurationRepository.GetValue("Role:Officer", context.Guild.Id) != null) ? ConfigurationRepository.GetValue("Role:Officer", context.Guild.Id) : "Officer"; - break; - case "Member": - requiredGroup = (ConfigurationRepository.GetValue("Role:Member", context.Guild.Id) != null) ? ConfigurationRepository.GetValue("Role:Member", context.Guild.Id) : "Member"; - break; - default: - return Task.FromResult(PreconditionResult.FromError($"{_role} is not a valid Permission Node.")); - } + var requiredGroup = (ConfigurationRepository.GetValue($"Role:{_role}", context.Guild.Id) != null) ? ConfigurationRepository.GetValue($"Role:{_role}", context.Guild.Id) : _role; if (gUser.Roles.Any(r => r.Name == requiredGroup)) return Task.FromResult(PreconditionResult.FromSuccess());