UNPKG

@srart24/scraper

Version:

@srart24/scraper adalah sebuah module npm yang menyediakan berbagai fitur seru dan berguna seperti pengunduh konten dari platform populer, teks acak, permainan interaktif, dan berbagai fungsi hiburan.

95 lines (81 loc) 2.4 kB
const axios = require('axios'); const dbUrlGm = "https://raw.githubusercontent.com/srart24/db/srart24/games/"; const dbUrlQu = "https://raw.githubusercontent.com/srart24/db/srart24/randomTeks/" async function fetchJSON(url, maxRetry = 3) { let retryCount = 0; while (retryCount < maxRetry) { try { const response = await axios.get(url); return response.data; } catch (error) { console.error('Terjadi kesalahan:', error.message); retryCount++; } } return null; } const fetchDataAndPickRandomGm = async (endpoint) => { try { const data = await fetchJSON(dbUrlGm + endpoint); const rnd = await pickRandom(data); return { result: rnd }; } catch (error) { throw error; } }; const fetchDataAndPickRandomQu = async (endpoint) => { try { const data = await fetchJSON(dbUrlQu + endpoint); const rnd = await pickRandom(data); return rnd } catch (error) { throw error; } }; function cNm(number) { if (number >= 1000) { const units = ["", "k", "M", "B", "T"]; const unitIndex = Math.floor(Math.log10(number) / 3); const shortNumber = (number / Math.pow(1000, unitIndex)).toFixed(1); return shortNumber + units[unitIndex]; } return number.toString(); } function pickRandom(list) { return list[Math.floor(list.length * Math.random())] } function randomobj(aray) { return aray[Math.floor(Math.random() * (aray.length))] } function post(url, formdata) { return fetch(url, { method: "POST", headers: { accept: "*/*", "accept-language": "en-US,en;q=0.9", "content-type": "application/x-www-form-urlencoded; charset=UTF-8", }, body: new URLSearchParams(Object.entries(formdata)), }); } function timeFormat(value) { const sec = parseInt(value, 10); let hours = Math.floor(sec / 3600); let minutes = Math.floor((sec - hours * 3600) / 60); let seconds = sec - hours * 3600 - minutes * 60; if (hours < 10) hours = "0" + hours; if (minutes < 10) minutes = "0" + minutes; if (seconds < 10) seconds = "0" + seconds; if (hours == 00) return minutes + ":" + seconds; return hours + ":" + minutes + ":" + seconds; } module.exports = { fetchJSON, cNm, pickRandom, randomobj, post, timeFormat, fetchDataAndPickRandomGm, fetchDataAndPickRandomQu }