Esempio n. 1
0
        public static void RegisterTypes()
        {
            _container = new UnityContainer();

            _container.RegisterSingleton <Connection>();
            _container.RegisterSingleton <DiscordSocketClient>
                (new InjectionConstructor(typeof(DiscordSocketConfig)));

            _container.RegisterSingleton <IDataStorage, JsonStorage>();
            _container.RegisterSingleton <ILogger, Logger>();
            _container.RegisterSingleton <CommandHandler>();
            _container.RegisterSingleton <DiscordEventHandler>();
            _container.RegisterSingleton <CommandService>();
            _container.RegisterSingleton <UserAccountDataStorage>();
            _container.RegisterSingleton <UserAccountManager>
                (new InjectionConstructor(typeof(UserAccountDataStorage)));
            _container.RegisterSingleton <TimedEventHandler>();

            _container.RegisterFactory <Timer>
                (i => TimerProvider.GetDefault());

            _container.RegisterFactory <IServiceProvider>
                (i => BotServiceProvider.GetServiceProvider());

            _container.RegisterFactory <DiscordSocketConfig>
                (i => SocketConfig.GetDefault());

            _container.RegisterFactory <BotConfiguration>
                (i => BotConfig.GetDefault());
        }
Esempio n. 2
0
        public static BotConfiguration GetDefault()
        {
            var storage = Injector.Resolve <IDataStorage>();

            return(new BotConfiguration
            {
                Token = storage.RetrieveObject <string>("BotConfiguration/Token"),
                CommandPrefix = storage.RetrieveObject <string>
                                    ("BotConfiguration/CommandPrefix"),
                GuildID = storage.RetrieveObject <string>("BotConfiguration/CurrentGuildID"),
                SocketConfig = SocketConfig.GetDefault()
            });
        }