public BaseAccount(RedditSettings options, Credentials credentials)
 {
     _client = new RedditClient(appId: credentials.AppID,
                                accessToken: credentials.AccessToken,
                                refreshToken: credentials.RefreshToken,
                                userAgent: options.UserAgent);
 }
 public Archiver(IDataStore dataStore, IUserAccount userAccount, IBotAccount botAccount, IOptions <RedditSettings> settings)
 {
     _database    = dataStore;
     _userAccount = userAccount;
     _botAccount  = botAccount;
     _settings    = settings.Value;
 }
Exemple #3
0
        protected override void AddPlugins(ItemModel source, Endpoint endpoint)
        {
            var settings = new RedditSettings {
                BlogPath = base.GetStringValue(source, "Blog Path")
            };

            endpoint.AddPlugin(settings);
        }
Exemple #4
0
        public void StartWatch()
        {
            lock (_watchStateLock)
            {
                if (_watchState != WatcherState.Stoped)
                {
                    throw new Exception("Reddit watcher already running!");
                }

                _watchState     = WatcherState.Starting;
                _taskCollection = new List <Task>();
                _redditSettings = SettingsController.SettingsStore.RedditSettings;

                _redditSettings.WatchedSubreddits = new List <string>();
                foreach (var subreddit in SettingsController.SettingsStore.TelegramUsers.Select(u => u.Subreddits))
                {
                    _redditSettings.WatchedSubreddits =
                        _redditSettings.WatchedSubreddits.Union(subreddit).ToList();
                }

                _watchState = WatcherState.Running;
                new Thread(GetNews).Start();
            }
        }