Snoowrap
A simple and lightweight Reddit API client for Node.js.
Installation
npm @gramsay7/reddit-wrapper
Usage
First, import the Snoowrap
class, UserConfig
, and TopTimes
enum from the package:
import Snoowrap, { UserConfig, TopTimes } from '@gramsay7/reddit-wrapper';
Then, create a new instance of Snoowrap
with your Reddit app's client ID, client secret, and your Reddit account's username and password:
In this package there is a .env.sample
file with credentials you can use to test the library.
const snooConfig: UserConfig = {
clientId: 'your_client_id',
clientSecret: 'your_client_secret',
username: 'your_username',
password: 'your_password',
};
const snoo = new Snoowrap(snooConfig);
Before you can use the other methods, you need to authorize the user:
await snoo.authorize();
Now, you can use the other methods. For example, to get the hot posts from the 'javascript' subreddit:
const hotPosts = await snoo.getHot('javascript');
console.log(hotPosts);
API
authorize(): Promise<void>
Authorizes the user.
getUserInfo()
Gets the authenticated user's information.
getSubredditInfo(name: string): Promise<void>
Gets information about a subreddit.
getHot(subreddit: string)
Gets the hot posts from a subreddit.
getBest(subreddit: string)
Gets the best posts from a subreddit.
getNew(subreddit: string)
Gets the newest posts from a subreddit.
getTop(subreddit: string, t: TopTimes)
Gets the top posts from a subreddit within a specified time frame (t
).
search(subreddit: string, query: string)
Searches for a specific query within a specified subreddit.