public FeatureModule(ILogger <FeatureModule> logger, CommandHandlingService commandHandlingService, IServiceProvider provider, FeatureOverrideService featureOverrideService) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _commandHandlingService = commandHandlingService ?? throw new ArgumentNullException(nameof(commandHandlingService)); _provider = provider ?? throw new ArgumentNullException(nameof(provider)); _featureOverrideService = featureOverrideService ?? throw new ArgumentNullException(nameof(featureOverrideService)); GuildMemberUpdatedBaseTypes = Assembly.GetEntryAssembly().GetTypes() .Where(x => x.IsSubclassOf(typeof(GuildMemberUpdatedBase))) .Select(x => _provider.GetRequiredService(x)) .Select(x => (x, (GuildMemberUpdatedBase)x)) .ToDictionary(x => x.x, x => x.Item2); foreach (var baseType in GuildMemberUpdatedBaseTypes) { CommandsThatCanBeOverriden.Add(baseType.Key.GetType().Name); } }
public LeagueReallocation(FeatureOverrideService featureOverrideService) : base(featureOverrideService) { }
public GuildMemberUpdatedBase(FeatureOverrideService featureOverrideService) { _featureOverrideService = featureOverrideService ?? throw new ArgumentNullException(nameof(featureOverrideService)); }