public SubredditService Start(ILogger logger, IConfiguration configuration, bool dryRun = false, bool processOldPosts = false) { logger.Information("Application started..."); if (dryRun) { logger.Warning("This is a DRYRUN! No actions will be taken!"); } var redditClient = new RedditClient(appId: configuration["AppId"], appSecret: configuration["AppSecret"], refreshToken: configuration["RefreshToken"]); var service = new SubredditService(logger, configuration, redditClient, subredditName: _subredditName, databaseName: _subredditName, processOldPosts: processOldPosts); foreach (var handler in GetHandlers(typeof(IPostHandler), logger, service, dryRun)) { service.PostHandlers.Add(handler); } foreach (var handler in GetHandlers(typeof(ICommentHandler), logger, service, dryRun)) { service.CommentHandlers.Add(handler); } foreach (var handler in GetHandlers(typeof(IMessageHandler), logger, service, dryRun)) { service.MessageHandlers.Add(handler); } service.SubscribeToPostFeed(); service.SubscribeToCommentFeed(); service.SubscribeToMessageFeed(); service.RegisterRepeatForCommentAndPostDataPull(); return(service); }
private static void InitializeTestServiceFunctions(ILogger logger, SubredditService service, bool dryRun) { // chefknives comments service.CommentHandlers.Add(new MakerPostCommentHandler(logger, service, dryRun)); // chefknives posts service.PostHandlers.Add(new KnifePicsPostHandler(logger, service, dryRun)); service.PostHandlers.Add(new MakerPostHandler(logger, service, dryRun)); service.PostHandlers.Add(new RecommendMePostHandler(logger, service, dryRun)); // chefknives messages //service.MessageHandlers.Add(new MessageHandler(logger, service, dryRun)); // chefknifeswap posts service.PostHandlers.Add(new SwapPostHandler(logger, service, dryRun)); // ryky comments //service.CommentHandlers.Add(new RykyPraiseCommandHandler(logger, service, dryRun)); service.SubscribeToPostFeed(); service.SubscribeToCommentFeed(); service.SubscribeToMessageFeed(); service.RegisterRepeatForCommentAndPostDataPull(); }