51 lines
1.1 KiB
JavaScript
51 lines
1.1 KiB
JavaScript
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();
|