/// <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>(); }
public FeedService(MonkeyDBContext dbContext, DiscordSocketClient discordClient, ISchedulingService schedulingService, ILogger <FeedService> logger) { this.dbContext = dbContext; this.discordClient = discordClient; this.schedulingService = schedulingService; this.logger = logger; }
public SteamGameServerService(MonkeyDBContext dbContext, DiscordSocketClient discordClient, ILogger <SteamGameServerService> logger) : base(GameServerType.Steam, dbContext, discordClient, logger) { this.dbContext = dbContext; this.discordClient = discordClient; this.logger = logger; }
public ReminderService(MonkeyDBContext dbContext, DiscordClient discordClient, ISchedulingService schedulingService, ILogger <ReminderService> logger) { _dbContext = dbContext; _discordClient = discordClient; _schedulingService = schedulingService; _logger = logger; }
protected BaseGameServerService(GameServerType gameServerType, MonkeyDBContext dbContext, DiscordSocketClient discordClient, ILogger <IGameServerService> logger) { this.gameServerType = gameServerType; this.dbContext = dbContext; this.discordClient = discordClient; this.logger = logger; }
protected BaseGameServerService(GameServerType gameServerType, MonkeyDBContext dbContext, DiscordClient discordClient, ISchedulingService schedulingService, ILogger <IGameServerService> logger) { _gameServerType = gameServerType; _dbContext = dbContext; _discordClient = discordClient; _schedulingService = schedulingService; _logger = logger; }
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; }
/// <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; }
public MineCraftGameServerService( MonkeyDBContext dbContext, DiscordClient discordClient, ISchedulingService schedulingService, ILogger <MineCraftGameServerService> logger) : base(GameServerType.Minecraft, dbContext, discordClient, schedulingService, logger) { _dbContext = dbContext; _discordClient = discordClient; _logger = logger; }
public SteamGameServerService( MonkeyDBContext dbContext, DiscordClient discordClient, ISchedulingService schedulingService, ILogger <SteamGameServerService> logger) : base(GameServerType.Steam, dbContext, discordClient, schedulingService, logger) { _dbContext = dbContext; _discordClient = discordClient; _logger = logger; }
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; }
/// <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); }
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; }
public GuildConfigModule(MonkeyDBContext dbContext, IBattlefieldNewsService bfService) { this.dbContext = dbContext; this.bfService = bfService; }
public OTDBTriviaService(MonkeyDBContext dbContext) { this.dbContext = dbContext; trivias = new ConcurrentDictionary <DiscordId, OTDBTriviaInstance>(); }
public GameSubscriptionService(MonkeyDBContext dbContext, DiscordSocketClient client) { this.dbContext = dbContext; discordClient = client; }
public GuildService(MonkeyDBContext dbContext) { _dbContext = dbContext; }
public RoleButtonService(DiscordSocketClient discordClient, MonkeyDBContext dbContext, ILogger <RoleButtonService> logger) { this.discordClient = discordClient; this.dbContext = dbContext; this.logger = logger; }
public OTDBTriviaService(MonkeyDBContext dbContext, IHttpClientFactory clientFactory) { this.dbContext = dbContext; this.clientFactory = clientFactory; trivias = new ConcurrentDictionary <DiscordId, OTDBTriviaInstance>(); }
public BenzenFactModule(MonkeyDBContext dbContext) { this.dbContext = dbContext; }
public InfoModule(MonkeyDBContext dbContext) { this.dbContext = dbContext; }
public BenzenFactService(MonkeyDBContext dbContext) { _dbContext = dbContext; }
public PollService(DiscordClient discordClient, MonkeyDBContext dbContext) { _discordClient = discordClient; _dbContext = dbContext; }
public RoleButtonService(DiscordSocketClient discordClient, MonkeyDBContext dbContext) { this.discordClient = discordClient; this.dbContext = dbContext; }