Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

eben0/snooshift

Repository files navigation

SnooShift

JavaScript wrapper library for Pushshift with Snoowrap support.

Install

npm i -S snooshift

Searching Comments

import { SnooShift } from "snooshift";
// create new object
const snoo = new SnooShift();
// search parameters
// https://github.com/pushshift/api#search-parameters-for-comments
// search comments by author
const searchParams = {
 author: "eben0",
};
// send request
snoo.searchComments(searchParams).then((comments) => {
 console.log(comments);
});

Get Single Comment

// get single comment by id
snoo.getComment("gof4uys").then((comment) => {
 console.log(comment);
});

Searching Submissions

// search parameters
// https://github.com/pushshift/api#search-parameters-for-submissions
// search submissions by author
const searchParams = {
 author: "eben0",
};
snoo.searchSubmissions(searchParams).then((comments) => {
 console.log(comments);
});

Get Single Submission

// get single submission by id
snoo.searchSubmissions("lrufxe").then((submission) => {
 console.log(submission);
});

Interacting with Reddit

You can reply, upvote and interact with reddit using Snoowrap object. You must set up your reddit api credentials to do so.

import { SnooShift } from "snooshift";
// list of supported credentials:
// https://github.com/not-an-aardvark/snoowrap#examples
const credentials = {
 userAgent: "put your user-agent string here",
 clientId: "put your client id here",
 clientSecret: "put your client secret here",
 refreshToken: "put your refresh token here",
};
const snoo = new SnooShift(credentials);
// get comment and reply/upvote/etc...
snoo.getComment("gof4uys").then((comment) => {
 comment.reply("My awesome reply").then(value);
 comment.upvote().then(value);
 comment.delete().then(value);
});

Querying Elasticsearch

You can directly query the elasticsearch server if you are familiar with syntax.

import { SnooShift } from "snooshift";
const snoo = new SnooShift();
// elasticsearch query
// this query searches for all author's data ordered by created_utc
const query = {
 query: {
 term: { author: "eben0" },
 },
 sort: {
 created_utc: "desc",
 }
};
// searches for author's comments
snoo.elasticComments(query).then((result) => {
 console.log(result.hits.hits[0]._source);
});
// searches for author's submissions
snoo.elasticSubmissions(query).then((result) => {
 console.log(result.hits.hits[0]._source);
});

About

JavaScript wrapper library for Pushshift with Snoowrap support.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

AltStyle によって変換されたページ (->オリジナル) /