41 lines
904 B
TypeScript
41 lines
904 B
TypeScript
import fetch from "node-fetch";
|
|
import { array, safeParse, string } from "valibot";
|
|
import { adminLog, log } from "./utils";
|
|
import { Client } from "discord.js";
|
|
|
|
let client: Client;
|
|
export const setClient = (clnt: Client) => client = clnt;
|
|
|
|
export let lidiCoMajDenimPremium: string[] = [];
|
|
|
|
const subscriptionsSchema = array(string());
|
|
|
|
function naplanovat() {
|
|
const datum = new Date();
|
|
|
|
datum.setHours(24);
|
|
datum.setMinutes(1);
|
|
datum.setSeconds(0);
|
|
|
|
setTimeout(sync, Number(datum) - Date.now());
|
|
}
|
|
|
|
async function sync() {
|
|
log("synchronizace denim-");
|
|
const res = await fetch("https://util.deadfish.cz/denim+/subscriptions.json")
|
|
.then(r => r.json())
|
|
.catch(log);
|
|
|
|
const result = safeParse(subscriptionsSchema, res);
|
|
|
|
if (result.success) {
|
|
lidiCoMajDenimPremium = result.output;
|
|
} else {
|
|
adminLog(client, "nepovedlo se akutalizovat vlastnitele denim-");
|
|
}
|
|
|
|
naplanovat();
|
|
}
|
|
|
|
sync();
|