UNPKG

scathach-api

Version:

A NodeJS wrapper to interacts with Scathach bot

57 lines 2.95 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.delay = exports.ratelimit = exports.randomArray = exports.get = void 0; const phin_1 = __importDefault(require("phin")); const delay = 1000; exports.delay = delay; /** * GET request to scathach bot API * @param url The related endpoint * @param headers custom headers that you pass to the request * @returns Promise that resolves to the response body */ async function get(url, headers) { return await (0, phin_1.default)({ method: 'get', url: url, headers: { 'User-Agent': headers, }, parse: 'json', timeout: 10000 }); } exports.get = get; /** * Shuffles array in place. * @param arr An array containing the items. * @param path callback path * @returns shuffled array */ function randomArray(arr, path = '') { let pisah; if (path) pisah = '/'; else pisah = ''; return `${path}${pisah}${arr[Math.floor(Math.random() * arr.length)]}`; } exports.randomArray = randomArray; /** * Rate limit handling for shit users which spamming the API * @param time The time in milliseconds * @param data The data that represents from get() * @returns resolved the requests */ function ratelimit(time, data) { return new Promise(resolve => { setTimeout(() => { resolve(data); }, time); }); } exports.ratelimit = ratelimit; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQXdCO0FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQztBQStDVixzQkFBSztBQTlDZDs7Ozs7S0FLSztBQUNFLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFFLE9BQWU7SUFDcEQsT0FBTyxNQUFNLElBQUEsY0FBSSxFQUFDO1FBQ2hCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsR0FBRyxFQUFFLEdBQUc7UUFDUixPQUFPLEVBQUU7WUFDUCxZQUFZLEVBQUUsT0FBTztTQUN0QjtRQUNELEtBQUssRUFBRSxNQUFNO1FBQ2IsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFDLENBQUM7QUFDTCxDQUFDO0FBVkQsa0JBVUM7QUFFRDs7Ozs7S0FLSztBQUNMLFNBQWdCLFdBQVcsQ0FBQyxHQUFXLEVBQUUsSUFBSSxHQUFHLEVBQUU7SUFDaEQsSUFBSSxLQUFLLENBQUM7SUFDVixJQUFJLElBQUk7UUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDOztRQUNqQixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRWhCLE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3pFLENBQUM7QUFORCxrQ0FNQztBQUVEOzs7OztLQUtLO0FBQ0wsU0FBZ0IsU0FBUyxDQUFDLElBQVksRUFBRSxJQUFZO0lBQ2xELE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDM0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFORCw4QkFNQyJ9