SnooStream
An event based wrapper for getting new comments and submissions from Snoowrap.
Features
- Can filter new posts via regex.
- Remove post duplicates returned from Reddit.
- Accounts for drift between system time and Reddit server time.
Installation
npm install snoostream
Usage
How to initialize
const SnooStream = require('snoostream');
let snooStream = SnooStream({
...
});
OR
const SnooStream = require('snoostream');
const Snoowrap = require('snoowrap');
let snooWrap = new Snoowrap({
...
});
let snooStream = SnooStream(snooWrap);
SnooStream(options[, drift])
SnooStream(Snoowrap[, drift])
options
Snoowrap configurationSnoowrap
A Snoowrap objectdrift
the number of seconds system time is ahead of Reddit server time. Usually not needed.
let commentStream = snooStream.commentStream('all');
let commentStream = snooStream.commentStream('all', { regex: /abc/ });
commentStream.on('post', (post, match) => {
...
...
});
snooStream.commentStream(subreddit[, options])
subreddit
the subreddit to poll for new comments. Default is 'all'.options.regex
Will only emit posts that match the provided regexoptions.rate
Rate at which to poll Reddit. Default is 1000 ms.options.*
Any additional options that would apply to Snoowrap.getNewComments()
such as limit
which limits the amount of comments fetched every call.
Create a Submission Stream
let submissionStream = snooStream.submissionStream('all');
let submissionStream = snooStream.submissionStream('all', { regex: /abc/ });
submissionStream.on('post', (post, match) => {
...
...
});
snooStream.submissionStream(subreddit[, options])
subreddit
the subreddit to poll for new submissions. Default is 'all'.options.regex
Will only emit posts that match the provided regexoptions.rate
Rate at which to poll Reddit. Default is 1000 ms.options.*
Any additional options that would apply to Snoowrap.getNew()
such as limit
which limits the amount of comments fetched every call.