Ejemplo n.º 1
0
 /// <summary>
 /// Create a new CommandManager instance with DI. Use <see cref="StartAsync"/> afterwards to actually start the CommandManager/>
 /// </summary>
 public CommandManager(IServiceProvider serviceProvider)
 {
     this.serviceProvider = serviceProvider;
     this.discordClient   = serviceProvider.GetRequiredService <DiscordSocketClient>();
     this.commandService  = serviceProvider.GetRequiredService <CommandService>();
     this.dbContext       = serviceProvider.GetRequiredService <MonkeyDBContext>();
 }
Ejemplo n.º 2
0
 public FeedService(MonkeyDBContext dbContext, DiscordSocketClient discordClient, ISchedulingService schedulingService, ILogger <FeedService> logger)
 {
     this.dbContext         = dbContext;
     this.discordClient     = discordClient;
     this.schedulingService = schedulingService;
     this.logger            = logger;
 }
Ejemplo n.º 3
0
 public SteamGameServerService(MonkeyDBContext dbContext, DiscordSocketClient discordClient, ILogger <SteamGameServerService> logger)
     : base(GameServerType.Steam, dbContext, discordClient, logger)
 {
     this.dbContext     = dbContext;
     this.discordClient = discordClient;
     this.logger        = logger;
 }
Ejemplo n.º 4
0
 public ReminderService(MonkeyDBContext dbContext, DiscordClient discordClient, ISchedulingService schedulingService, ILogger <ReminderService> logger)
 {
     _dbContext         = dbContext;
     _discordClient     = discordClient;
     _schedulingService = schedulingService;
     _logger            = logger;
 }
Ejemplo n.º 5
0
 protected BaseGameServerService(GameServerType gameServerType, MonkeyDBContext dbContext, DiscordSocketClient discordClient, ILogger <IGameServerService> logger)
 {
     this.gameServerType = gameServerType;
     this.dbContext      = dbContext;
     this.discordClient  = discordClient;
     this.logger         = logger;
 }
Ejemplo n.º 6
0
 protected BaseGameServerService(GameServerType gameServerType, MonkeyDBContext dbContext, DiscordClient discordClient, ISchedulingService schedulingService, ILogger <IGameServerService> logger)
 {
     _gameServerType    = gameServerType;
     _dbContext         = dbContext;
     _discordClient     = discordClient;
     _schedulingService = schedulingService;
     _logger            = logger;
 }
Ejemplo n.º 7
0
        public static async Task <IServiceProvider> InitializeAsync(ApplicationArguments args)
        {
            IServiceProvider services = ConfigureServices(loggingBuilder =>
            {
                _ = loggingBuilder.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
                _ = loggingBuilder.AddNLog(SetupNLogConfig());
            });

            DiscordSocketClient client = services.GetService <DiscordSocketClient>();
            string token = (await DiscordClientConfiguration.LoadAsync().ConfigureAwait(false)).Token;
            await client.LoginAsync(TokenType.Bot, token).ConfigureAwait(false);

            await client.StartAsync().ConfigureAwait(false);

            CommandManager manager = services.GetService <CommandManager>();
            await manager.StartAsync().ConfigureAwait(false);

            MonkeyDBContext dbContext = services.GetRequiredService <MonkeyDBContext>();
            await DBInitializer.InitializeAsync(dbContext).ConfigureAwait(false);

            IAnnouncementService announcements = services.GetService <IAnnouncementService>();
            await announcements.InitializeAsync().ConfigureAwait(false);

            SteamGameServerService steamGameServerService = services.GetService <SteamGameServerService>();

            steamGameServerService.Initialize();

            MineCraftGameServerService minecraftGameServerService = services.GetService <MineCraftGameServerService>();

            minecraftGameServerService.Initialize();

            IGameSubscriptionService gameSubscriptionService = services.GetService <IGameSubscriptionService>();

            gameSubscriptionService.Initialize();

            IRoleButtonService roleButtonsService = services.GetService <IRoleButtonService>();

            roleButtonsService.Initialize();

            IFeedService feedService = services.GetService <IFeedService>();

            feedService.Start();

            IBattlefieldNewsService battlefieldNewsService = services.GetService <IBattlefieldNewsService>();

            battlefieldNewsService.Start();

            if (args != null && args.BuildDocumentation)
            {
                await manager.BuildDocumentationAsync().ConfigureAwait(false); // Write the documentation

                await Console.Out.WriteLineAsync("Documentation built").ConfigureAwait(false);
            }

            return(services);
        }
 public MineCraftGameServerService(
     MonkeyDBContext dbContext,
     DiscordSocketClient discordClient,
     ILogger <MineCraftGameServerService> logger)
     : base(GameServerType.Minecraft, dbContext, discordClient, logger)
 {
     this.dbContext     = dbContext;
     this.discordClient = discordClient;
     this.logger        = logger;
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Create a new instance of a trivia game in the specified guild's channel. Requires an established connection
 /// </summary>
 /// <param name="commandContext">Message context of the channel where the trivia should be hosted</param>
 /// <param name="db">DB Service instance</param>
 public OTDBTriviaInstance(SocketCommandContext commandContext, MonkeyDBContext dbContext, IHttpClientFactory clientFactory)
 {
     this.commandContext = commandContext;
     discordClient       = commandContext.Client;
     this.dbContext      = dbContext;
     interactiveService  = new InteractiveService(discordClient);
     questions           = new List <OTDBQuestion>();
     guildID             = commandContext.Guild.Id;
     channelID           = commandContext.Channel.Id;
     this.clientFactory  = clientFactory;
 }
Ejemplo n.º 10
0
 public MineCraftGameServerService(
     MonkeyDBContext dbContext,
     DiscordClient discordClient,
     ISchedulingService schedulingService,
     ILogger <MineCraftGameServerService> logger)
     : base(GameServerType.Minecraft, dbContext, discordClient, schedulingService, logger)
 {
     _dbContext     = dbContext;
     _discordClient = discordClient;
     _logger        = logger;
 }
Ejemplo n.º 11
0
 public SteamGameServerService(
     MonkeyDBContext dbContext,
     DiscordClient discordClient,
     ISchedulingService schedulingService,
     ILogger <SteamGameServerService> logger)
     : base(GameServerType.Steam, dbContext, discordClient, schedulingService, logger)
 {
     _dbContext     = dbContext;
     _discordClient = discordClient;
     _logger        = logger;
 }
Ejemplo n.º 12
0
 public MonkeyClient(ILogger <MonkeyClient> logger, MonkeyDBContext dbContext) : base(discordConfig)
 {
     this.logger       = logger;
     this.dbContext    = dbContext;
     this.Connected   += Client_ConnectedAsync;
     this.UserJoined  += Client_UserJoinedAsync;
     this.UserLeft    += Client_UserLeftAsync;
     this.JoinedGuild += Client_JoinedGuildAsync;
     this.LeftGuild   += Client_LeftGuildAsync;
     this.Log         += MonkeyClient_LogAsync;
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Create a new instance of a trivia game in the specified guild's channel. Requires an established connection
 /// </summary>
 /// <param name="commandContext">Message context of the channel where the trivia should be hosted</param>
 /// <param name="db">DB Service instance</param>
 public OTDBTriviaInstance(SocketCommandContext commandContext, MonkeyDBContext dbContext)
 {
     this.commandContext = commandContext;
     discordClient       = commandContext.Client;
     this.dbContext      = dbContext;
     interactiveService  = new InteractiveService(discordClient);
     questions           = new List <OTDBQuestion>();
     guildID             = commandContext.Guild.Id;
     channelID           = commandContext.Channel.Id;
     httpClientHandler   = new HttpClientHandler
     {
         Proxy    = null,
         UseProxy = false
     };
     httpClient = new HttpClient(httpClientHandler);
 }
Ejemplo n.º 14
0
        private static async Task StartServicesAsync(IServiceProvider services)
        {
            MonkeyDBContext dbContext = services.GetRequiredService <MonkeyDBContext>();
            await DBInitializer.InitializeAsync(dbContext);

            IReminderService reminders = services.GetService <IReminderService>();
            await reminders.InitializeAsync();

            SteamGameServerService steamGameServerService = services.GetService <SteamGameServerService>();

            steamGameServerService.Initialize();

            MineCraftGameServerService minecraftGameServerService = services.GetService <MineCraftGameServerService>();

            minecraftGameServerService.Initialize();

            IRoleDropdownService roleButtonsService = services.GetService <IRoleDropdownService>();
            await roleButtonsService.InitializeAsync();

            IFeedService feedService = services.GetService <IFeedService>();

            feedService.Start();

            IBattlefieldNewsService battlefieldNewsService = services.GetService <IBattlefieldNewsService>();

            battlefieldNewsService.Start();

            IGiveAwaysService giveAwaysService = services.GetService <IGiveAwaysService>();

            giveAwaysService.Start();

            IPollService pollService = services.GetService <IPollService>();
            await pollService.InitializeAsync();

            return;
        }
Ejemplo n.º 15
0
 public GuildConfigModule(MonkeyDBContext dbContext, IBattlefieldNewsService bfService)
 {
     this.dbContext = dbContext;
     this.bfService = bfService;
 }
Ejemplo n.º 16
0
 public OTDBTriviaService(MonkeyDBContext dbContext)
 {
     this.dbContext = dbContext;
     trivias        = new ConcurrentDictionary <DiscordId, OTDBTriviaInstance>();
 }
Ejemplo n.º 17
0
 public GameSubscriptionService(MonkeyDBContext dbContext, DiscordSocketClient client)
 {
     this.dbContext = dbContext;
     discordClient  = client;
 }
Ejemplo n.º 18
0
 public GuildService(MonkeyDBContext dbContext)
 {
     _dbContext = dbContext;
 }
Ejemplo n.º 19
0
 public RoleButtonService(DiscordSocketClient discordClient, MonkeyDBContext dbContext, ILogger <RoleButtonService> logger)
 {
     this.discordClient = discordClient;
     this.dbContext     = dbContext;
     this.logger        = logger;
 }
Ejemplo n.º 20
0
 public OTDBTriviaService(MonkeyDBContext dbContext, IHttpClientFactory clientFactory)
 {
     this.dbContext     = dbContext;
     this.clientFactory = clientFactory;
     trivias            = new ConcurrentDictionary <DiscordId, OTDBTriviaInstance>();
 }
Ejemplo n.º 21
0
 public BenzenFactModule(MonkeyDBContext dbContext)
 {
     this.dbContext = dbContext;
 }
Ejemplo n.º 22
0
 public InfoModule(MonkeyDBContext dbContext)
 {
     this.dbContext = dbContext;
 }
Ejemplo n.º 23
0
 public BenzenFactService(MonkeyDBContext dbContext)
 {
     _dbContext = dbContext;
 }
Ejemplo n.º 24
0
 public PollService(DiscordClient discordClient, MonkeyDBContext dbContext)
 {
     _discordClient = discordClient;
     _dbContext     = dbContext;
 }
Ejemplo n.º 25
0
 public RoleButtonService(DiscordSocketClient discordClient, MonkeyDBContext dbContext)
 {
     this.discordClient = discordClient;
     this.dbContext     = dbContext;
 }