snoostream
v1.0.1
Published
An event based wrapper for getting new comments and submissions from Snoowrap.
Downloads
12
Maintainers
Readme
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({
... // This is all Snoowrap configuration
});
OR
const SnooStream = require('snoostream');
const Snoowrap = require('snoowrap');
let snooWrap = new Snoowrap({
... // This is all Snoowrap configuration
});
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.
Create a Comment Stream
let commentStream = snooStream.commentStream('all');
// Or if you want to match with a specific regex
let commentStream = snooStream.commentStream('all', { regex: /abc/ });
commentStream.on('post', (post, match) => {
... // post is returned directly from Snoowrap
... // match contains the groups matched by regex
});
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 toSnoowrap.getNewComments()
such aslimit
which limits the amount of comments fetched every call.
Create a Submission Stream
let submissionStream = snooStream.submissionStream('all');
// Or if you want to match with a specific regex
let submissionStream = snooStream.submissionStream('all', { regex: /abc/ });
submissionStream.on('post', (post, match) => {
... // post is returned directly from Snoowrap
... // match contains the groups matched by regex
});
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 toSnoowrap.getNew()
such aslimit
which limits the amount of comments fetched every call.