public async Task InstallAsync(DiscordSocketClient discordClient, CommandService commandService) { _client = discordClient; _commandService = commandService; var server = new Server(_client); server.Start(); var drinkDao = await DrinkDao.CreateAsync(); _services = new ServiceCollection(); var messageService = new MessageService(_client); var eventService = new EventService(messageService, new EventDao()); // Add services to the ServiceCollection _services.AddSingleton(await CommentService.Create()); _services.AddSingleton(new CommandDao()); _services.AddSingleton(new QuoteService()); _services.AddSingleton(new WeatherService()); _services.AddSingleton(new UrbanService()); _services.AddSingleton(new NHLService()); _services.AddSingleton(new AromaService(new AromaDao())); _services.AddSingleton(new EPClient(BotSettings.Instance.EPAPIKey)); _services.AddSingleton(messageService); _services.AddSingleton(eventService); _services.AddSingleton(new WolframService()); _services.AddSingleton(new StartupTime()); _services.AddSingleton(new F1Service()); if (drinkDao != null) { _services.AddSingleton(drinkDao); } _oldLinkService = new OldLinkService(); _forbiddenMsgService = new ForbiddenMsgService(); _spammer = new Spammer(); JobManager.Initialize(eventService); // Build ServiceProvider and add modules _serviceProvider = _services.BuildServiceProvider(); await _commandService.AddModulesAsync(Assembly.GetEntryAssembly(), _serviceProvider); _client.MessageReceived += HandleCommandAsync; Log.Debug("CommandHandler installed."); }
public DrinkModule(DrinkDao drinkDao) { _drinkDao = drinkDao; }