@kindl3d/reddit.js
Version:
Retrive random reddit posts
41 lines (37 loc) • 1.24 kB
JavaScript
const axios = require('axios').default;
function time(unixtime) {
const u = new Date(unixtime * 1000);
return u.toISOString().replace('T', ' ').replace('Z', '');
}
function formatObject(data) {
return {
title: data.title,
text: data.selftext,
flairText: data.link_flair_text,
author: data.author,
subreddit: `r/${data.subreddit}`,
url: data.url,
permalink: `http://reddit.com${data.permalink}`,
created: time(parseInt(data.created, 10)),
created_utc: time(parseInt(data.created_utc, 10)),
nsfw: data.over_18,
};
}
module.exports = {
async reddit(subreddit) {
return new Promise((resolve, reject) => {
axios({
method: "get",
url: `https://www.reddit.com/r/${subreddit}.json?sort=new&t=day&limit=30`,
}).then(function (resp) {
let body = resp.data.data;
let data = body.children;
const rand = Math.floor(Math.random() * Math.floor(data.length));
const obj = formatObject(data[rand].data);
resolve(obj);
}).catch(e => {
reject(e);
});
});
}
}