public UserFlairContextFactory(BerbotConnectionFactory connectionFactory) { this.connectionFactory = connectionFactory; this.auditClient = connectionFactory.CreateAuditClient(); this.modRedditClient = connectionFactory.CreateModRedditClient(); this.subreddit = modRedditClient.Subreddit(BerbotConfiguration.RedditSubredditName); }
static void Main(string[] args) { var logManager = new LogManager(); var log = logManager.CreateContextLog("flair-sweeper"); log.WriteLine("Load Config"); var connectionFactory = new BerbotConnectionFactory(logManager); var userHistoryCache = new UserHistoryCache( logManager.CreateContextLog("autoflairer-history-cache"), connectionFactory); var userFlairContextFactory = new UserFlairContextFactory(connectionFactory); var test = userFlairContextFactory.CreateAndFetchLatestFlairContext("ItzWarty"); test.SetNewContributor(false); test.Commit(); return; var autoflairer = new Autoflairer( connectionFactory, userFlairContextFactory, logManager.CreateContextLog("autoflairer"), userHistoryCache); var usernames = userHistoryCache.GetKnownUsernames().OrderBy(x => x.ToLower()).ToList(); log.WriteLine($"Processing {usernames.Count} usernames!"); var usernameToFlairResult = new Dictionary <string, Autoflairer.ReflairResult>(); foreach (var username in usernames) { log.WriteLine($"Process: {username}"); var result = autoflairer.Reflair(username, null, null); usernameToFlairResult.Add(username, result); } var contentMonitor = new UserContentMonitor(logManager.CreateContextLog("content-monitor"), connectionFactory); contentMonitor.ContentPosted += e => { if (usernameToFlairResult.TryGetValue(e.Author, out var reflairResult)) { log.WriteLine(reflairResult.DebugString); } }; contentMonitor.NotifyInitialActiveSet(); }
public AuditClient(ILog log, BerbotConnectionFactory connectionFactory) { this.log = log; db = connectionFactory.CreateDbClient(); }
public UserContentMonitor(ILog log, BerbotConnectionFactory connectionFactory) { this.log = log; this.connectionFactory = connectionFactory; }
public InboxMonitor(ILog log, BerbotConnectionFactory config) { this.log = log; botRedditClient = config.CreateBotRedditClient(); }
public UserHistoryCache(ILog log, BerbotConnectionFactory connectionFactory) { this.log = log; this.dbClient = connectionFactory.CreateDbClient(); this.redditClient = connectionFactory.CreateModRedditClient(); }