Exemple #1
0
        public FrameworkConfiguration(
            IServiceProvider clientServiceProvider,
            string defaultCommandPrefix,
            IEnumerable <ulong> ownerIDs,
            IEnumerable <ModuleInfo> modules,
            ICommunicator communicator,
            Action <ILoggingBuilder> loggingConfiguration,
            IFrameworkGuildConfigProvider guildConfigProvider,
            BaseSocketClient discordClient)
        {
            ClientServiceProvider = clientServiceProvider ?? throw new ArgumentNullException(nameof(clientServiceProvider));

            if (string.IsNullOrWhiteSpace(defaultCommandPrefix))
            {
                throw new ArgumentException(defaultCommandPrefix);
            }

            DefaultCommandPrefix = defaultCommandPrefix;

            LoggingConfiguration = loggingConfiguration ?? throw new ArgumentNullException(nameof(loggingConfiguration));
            GuildConfigProvider  = guildConfigProvider ?? throw new ArgumentNullException(nameof(guildConfigProvider));

            OwnerIDs = ownerIDs?.ToList() ?? throw new ArgumentNullException(nameof(ownerIDs));

            if (!OwnerIDs.Any())
            {
                throw new ArgumentException(nameof(ownerIDs));
            }

            Modules = modules?.ToList() ?? throw new ArgumentNullException(nameof(modules));

            if (!Modules.Any())
            {
                throw new ArgumentException(nameof(modules));
            }

            DiscordClient = discordClient ?? throw new ArgumentNullException(nameof(discordClient));
            Communicator  = communicator;
        }
Exemple #2
0
        public CommandRoutingService(
            FrameworkConfiguration config,
            BaseSocketClient client,
            ICommunicator communicator,
            IFrameworkGuildConfigProvider guildConfigProvider,
            ICommandParser commandParser,
            ILogger <CommandRoutingService> logger,
            ILoggerFactory loggerFactory)
        {
            _client = client;
            _clientServiceProvider = config.ClientServiceProvider;
            _communicator          = communicator;
            _defaultCommandPrefix  = config.DefaultCommandPrefix;
            _ownerIDs            = config.OwnerIDs;
            _guildConfigProvider = guildConfigProvider;
            _commandParser       = commandParser;
            _logger        = logger;
            _loggerFactory = loggerFactory;

            foreach (var module in config.Modules)
            {
                AddModule(module);
            }
        }
 public FrameworkConfigurationBuilder WithGuildConfigProvider(IFrameworkGuildConfigProvider guildConfigProvider)
 {
     _guildConfigProvider = guildConfigProvider;
     return(this);
 }