Example #1
0
 public UserFlairContextFactory(BerbotConnectionFactory connectionFactory)
 {
     this.connectionFactory = connectionFactory;
     this.auditClient       = connectionFactory.CreateAuditClient();
     this.modRedditClient   = connectionFactory.CreateModRedditClient();
     this.subreddit         = modRedditClient.Subreddit(BerbotConfiguration.RedditSubredditName);
 }
Example #2
0
        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();
        }
Example #3
0
 public AuditClient(ILog log, BerbotConnectionFactory connectionFactory)
 {
     this.log = log;
     db       = connectionFactory.CreateDbClient();
 }
Example #4
0
 public UserContentMonitor(ILog log, BerbotConnectionFactory connectionFactory)
 {
     this.log = log;
     this.connectionFactory = connectionFactory;
 }
Example #5
0
 public InboxMonitor(ILog log, BerbotConnectionFactory config)
 {
     this.log        = log;
     botRedditClient = config.CreateBotRedditClient();
 }
Example #6
0
 public UserHistoryCache(ILog log, BerbotConnectionFactory connectionFactory)
 {
     this.log          = log;
     this.dbClient     = connectionFactory.CreateDbClient();
     this.redditClient = connectionFactory.CreateModRedditClient();
 }