Ejemplo n.º 1
0
    private static DiscordBotConfiguration LoadDiscordConfig()
    {
        string configFile = Path.Combine(path1: ApplicationConfig.ConfigurationFilesPath, path2: "buildbot-config.json");

#if DEBUG
        if (!File.Exists(configFile))
        {
            return(new());
        }
#endif
        return(DiscordBotConfiguration.Load(configFile));
    }
Ejemplo n.º 2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            // set up an ILogger
            Microsoft.Extensions.Logging.ILogger logger = this._loggerFactory.CreateLogger("BuildBot");
            services.AddSingleton(logger);

            DiscordBotConfiguration botConfiguration = DiscordBotConfiguration.Load("buildbot-config.json");
            DiscordBot bot = new DiscordBot(botConfiguration, logger);

            // waiting a Task is normally a big no no because of deadlocks, but we're in a start up task here so it should be ok
            bot.Start().Wait();

            // register the bot for DI
            services.AddSingleton <IDiscordBot>(bot);

            // register publishers
            services.AddSingleton <IPublisher <Push>, PushPublisher>();
            services.AddSingleton <IPublisher <Status>, StatusPublisher>();

            // Add framework services
            services.AddMvc();
        }