public Connection(AppConfig config, DiscordSocketClient client, ProblemBoardService problemBoardService, CommandHandler commandHandler) { _appConfig = config; _client = client; _problemBoardService = problemBoardService; _commandHandler = commandHandler; }
public TutorialServer(GlobalUserDataProvider gudp, VerificationProvider botVer, ProblemBoardService pbService, ProblemProvider problemProvider, ILocalization lang) { _gudp = gudp; _botVer = botVer; _pbService = pbService; _problemProvider = problemProvider; _lang = lang; }
public async Task InitializeAsync(DiscordSocketClient client) { _client = client; Global.Client = client; _commandService = new CommandService(); _lang = Unity.Resolve <ILocalization>(); _botVer = Unity.Resolve <VerificationProvider>(); _waitingRoomService = Unity.Resolve <WaitingRoomService>(); _problemBoardService = Unity.Resolve <ProblemBoardService>(); _services = new ServiceCollection() .AddSingleton(_client) .AddSingleton(_commandService) .AddSingleton(_lang) .AddSingleton(Unity.Resolve <IDataStorage>()) .AddSingleton(Unity.Resolve <GlobalUserDataProvider>()) .AddSingleton(Unity.Resolve <AppConfig>()) .AddSingleton(Unity.Resolve <RpgRepository>()) .AddSingleton(Unity.Resolve <DiggingJobProvider>()) .AddSingleton(_waitingRoomService) .AddSingleton(_problemBoardService) .AddSingleton(Unity.Resolve <ProblemProvider>()) .AddSingleton(_botVer) .BuildServiceProvider(); await _commandService.AddModulesAsync(Assembly.GetEntryAssembly()); _client.MessageReceived += HandleCommandAsync; _client.MessageReceived += _waitingRoomService.MessageReceived; _client.UserJoined += _waitingRoomService.UserJoined; _client.UserLeft += _waitingRoomService.UserLeft; _client.MessageReceived += _problemBoardService.MessageReceived; _client.ReactionAdded += DmDeletions.CheckDeletionRequest; }