I hereby claim:
- I am neztore on github.
- I am joshmuir (https://keybase.io/joshmuir) on keybase.
- I have a public key ASD9F6udkDuFfjxPyW1xAJIAUt5IV2yE9Dor3e2z_aHGQgo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
| class TimeoutError extends Error { | |
| } | |
| /** | |
| * A basic replacement for the Bluebird 'timeout' method. Returns a Promise which will resolve or reject with the result of the given | |
| * promise once it resolves, or reject if the promise should fail to resolve within the supplied timeout. An optional reason | |
| * can also be supplied. | |
| * @param promise - The Promise to apply a timeout to. | |
| * @param timeoutTime - The timeout to apply to the Promise. | |
| * @param reason - Optional String reason for the timeout. |
| /* | |
| Basic Gyazo file downloader. | |
| How-to-use: | |
| 1. Dependencies | |
| Ensure you are using a recent version of node (tested w/ node v12) | |
| Install node-fetch | |
| 2. Folder | |
| Create an "imgs" folder in your current directory | |
| 3. Cookie |
| // Includes | |
| var http = require('../util/http.js').func | |
| var getGeneralToken = require('../util/getGeneralToken.js').func | |
| // Args | |
| exports.required = ['group'] | |
| exports.optional = ['sortOrder', 'limit', 'cursor', 'jar'] | |
| // Define | |
| function getJoinRequests (jar, group, sortOrder, limit, cursor) { |
| /* | |
| Requires: | |
| - Node-Fetch | |
| - "cookie" variable to be defined | |
| - "groupId" to be set | |
| Generates typescript interfaces from group Audit logs by using typeof to determine the type of response values. | |
| Can only generate interfaces for actions which have occured for a given group before. | |
| */ | |
| const cookie = ""; |
| Remove Member: | |
| TargetId: number | |
| TargetName: string | |
| -------- | |
| Delete Post: | |
| PostDesc: string | |
| TargetId: number |
| /* | |
| Exports all databases and tables. Stores in folders according to to "date" in a similar format to npm logs | |
| Dates are UTC but do not contain the timezone offset. | |
| Uses streams to try and avoid storing massive tables in memory, but the way this is done is a bit "Hacky" so be aware of that. | |
| (I manually write commas and array [] parts) | |
| By default ignores the "test" db. | |
| Dependencies: | |
| * rethinkdbdash | |
| */ |
| const fetch = require("node-fetch"); | |
| // Variables | |
| let noMade = 0; | |
| let cache = {}; | |
| let disabled = false; | |
| let since = Date.now(); | |
| // Clear your cache | |
| setInterval(function () { |
| // Manages interface with the verification service | |
| const fetch = require("node-fetch"); | |
| const { verificationApi } = require("../../settings"); | |
| module.exports = { | |
| getLink: async function (discordId) { | |
| const resp = await makeRequest(`/api/roblox/${discordId}`); | |
| if (resp.error && resp.error.status === 404) { | |
| return false; | |
| } else if (resp.error) { |
| // Build file | |
| // This file is executed by Netlify and used to build EJS to static HTML for serving. | |
| const ejs = require("ejs"); | |
| const { join } = require("path"); | |
| const { readdir, writeFile, stat, mkdir, watch, unlink } = require("fs"); | |
| const outputDir = join(__dirname, "public", "pages"); | |
| const pagesDir = join(__dirname, "src", "pages"); | |
| // Doesn't affect admin since it's not built with EJS |