示例#1
0
        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);
            }
        }
示例#2
0
 public LeagueReallocation(FeatureOverrideService featureOverrideService) : base(featureOverrideService)
 {
 }
 public GuildMemberUpdatedBase(FeatureOverrideService featureOverrideService)
 {
     _featureOverrideService = featureOverrideService
                               ?? throw new ArgumentNullException(nameof(featureOverrideService));
 }