import "dotenv/config"; import { items } from "./config.js"; const OMGLOL_API = `https://api.omg.lol/address/${process.env.OMGLOL_USERNAME}/now`; export async function getNow() { const res = await fetch(OMGLOL_API); const data = await res.json(); return data.response.now.content; } export async function setNow(newNow) { const res = await fetch(OMGLOL_API, { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${process.env.OMGLOL_KEY}`, }, body: JSON.stringify({ content: newNow, listed: 1, }), }); const data = await res.json(); console.log(data.response.message); } export default async function now() { const now = await getNow(); let newNow = now; await Promise.all( items.map(async ({ id, regex, getLatest }) => { console.log("getLatest", getLatest); const latest = await getLatest(); console.log(`${id}: ${latest}`); if (latest) { newNow = newNow.replace(regex, `$1${latest}$2`); } }), ); if (now === newNow) { console.log("Now page has no changes"); } else { await setNow(newNow); } } await now();