public void ConfigureServices(IServiceCollection services) { ConfigureBaseServices(services); HostedDiscordBot.ConfigureServices(services); services.AddHostedService <HostedDiscordBot>(); services.AddHostedService <ServicePreloader>(); services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => false; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddMemoryCache(); services.AddResponseCaching(); services.AddRouteAnalyzer(); services.AddMvc() .SetCompatibilityVersion(CompatibilityVersion.Version_2_1) .AddXmlSerializerFormatters(); services.AddAspAuth(); services.AddLogging(logging => { //logging.AddConsole(); logging.AddDebug(); }); var config = JsonConvert.DeserializeObject <Configuration>(File.ReadAllText(Configuration["BotConfigPath"])); services.AddSingleton(config); services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie("Cookies").AddDiscord(d => { d.AppId = config.Auth.ClientId; d.AppSecret = config.Auth.ClientSecret; d.Scope.Add("identify"); d.SaveTokens = true; }); services.AddSingleton <IUserContextBuilder, GraphQLUserContextBuilder>(); //GraphQL setup GraphTypeTypeRegistry.Register <TimeSpan, TimeSpanMillisecondsGraphType>(); services.AddSingleton <InjectedSchema>(); services.AddSingleton <InjectedSchema.IRootQuery, StatusSchema>(); services.AddSingleton <InjectedSchema.IRootQuery, RemindersQuerySchema>(); services.AddSingleton <InjectedSchema.IRootMutation, RemindersMutationSchema>(); services.AddGraphQLAuth(); services.AddGraphQL(options => { options.EnableMetrics = true; options.ExposeExceptions = true; options.ComplexityConfiguration = new ComplexityConfiguration { MaxDepth = 15 }; }); }
public void ConfigureServices(IServiceCollection services) { ConfigureBaseServices(services); HostedDiscordBot.ConfigureServices(services); services.AddSingleton <HostedDiscordBot>(); services.AddSingleton(Configuration); if (Configuration.Auth == null) { throw new InvalidOperationException("Cannot start bot: Config.Auth is null"); } }