npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

reddit-simple-client

v2.0.0-beta.7

Published

Simple module for interacting with Reddit, using oauth to authenticate to the reddit api

Downloads

34

Readme

reddit-simple-client

Simple Node.js module used for making HTTP requests to Reddit in order to view comments on all, or a specific Subreddit
Does not force rate limiting. Please ensure you limit your requests to avoid getting ip blocked from Reddit

https://www.npmjs.com/package/reddit-simple-client

Example call to list all comments

See demo.js for all working examples

import { CreateAuthedClient } from 'reddit-simple-client';

const redditOptions = { useSimpleReturnValues: true };
const redditAuthModal = {
  username: 'REDDIT_USERNAME',
  password: 'REDDIT_PASSWORD',
  appId: 'REDDIT_APP_ID',
  appSecret: 'REDDIT_APP_SECRET',
  redirectUrl: 'https://github.com/LionelBergen/reddit-client',
  accessToken: null,
  userAgent: 'u/dusty-trash reddit-simple-client/2.0.0 by Lionel Bergen'
};

const RedditClient = await CreateAuthedClient({ redditOptions: redditOptions, redditAuth: redditAuthModal });

// Returns a list of Comment objects containing the author, comment body etc.
const latestRedditComments = await RedditClient.getLatestCommentsFromReddit(1000);

Documentation ⭐

async CreateAuthedClient(redditOptions, redditAuth)

Creates an authenticated RedditClient object given the paramaters

redditOptions - Contains useSimpleReturnValues which specifies if simpler objects should be returned. True by default

redditAuth - Contains username password appId appSecret redirectUrl accessToken userAgent used for Reddit API Authentication

return - RedditClient object that's been authenticated by the Reddit Api using Oauth

async ReddClient.getPostsFromSubreddit(numberOfPosts, subreddit, sortType)

Gets a list of post objects

numberOfPosts - Number of posts to retrieve, between 1-100

subreddit - Subreddit to get posts from E.G funny

sortType - E.G 'new', or 'hot'

return - Promise containing a list of RedditPost objects

async ReddClient.getSubredditModList(subreddit)

Gets the list of modderators for the subreddit

subreddit - Subreddit to get moderators of E.G test

return - Promise containing list of moderator usernames

async ReddClient.getLatestCommentsFromReddit(numberOfComments)

Get a list of the newest comments from Reddit

numberOfComments - A number between 10-100 (between 1-9 does not work for Reddit)

return - Promise containing list of comment objects

async RedditClient.postComment(commentId, textToComment)

Posts a comment to Reddit

commentId - The comment.name. E.G t1_lnbe9pa

textToComment - What the posted comment should contain

RedditClient.MAX_NUM_POSTS

Max number of posts or comments Reddit allows you to rerieve at once. If a number thats higher is passed, this number is used anyway