Esempio n. 1
0
 public Connection(AppConfig config, DiscordSocketClient client, ProblemBoardService problemBoardService, CommandHandler commandHandler)
 {
     _appConfig           = config;
     _client              = client;
     _problemBoardService = problemBoardService;
     _commandHandler      = commandHandler;
 }
Esempio n. 2
0
 public TutorialServer(GlobalUserDataProvider gudp, VerificationProvider botVer, ProblemBoardService pbService, ProblemProvider problemProvider, ILocalization lang)
 {
     _gudp            = gudp;
     _botVer          = botVer;
     _pbService       = pbService;
     _problemProvider = problemProvider;
     _lang            = lang;
 }
Esempio n. 3
0
        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;
        }