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()); }
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() }); }