A library for virtupets.net APIs.
目前為
此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.gf.qytechs.cn/scripts/512407/1463866/GC%20-%20Virtupets%20API%20library.js
const url = "https://virtupets.net";
async function setupClientID() {
let clientID;
try {
clientID = await GM.getValue('ClientID');
if (!clientID) {
const id = crypto.randomUUID();
await GM.setValue('ClientID', crypto.randomUUID());
clientID = id;
}
} catch (error) {
console.error(error, "Failed to setup client ID.", "setupClientID");
clientID = "";
}
return clientID;
}
async function createPostRequest(apiVersion, body) {
const clientID = await setupClientID();
return {
method: "POST",
headers: {
"Content-Type": "application/json",
"Version": apiVersion,
"ClientID": clientID
},
body: JSON.stringify(body),
}
}
/* Expects items to be an array of item name strings. */
async function bulkShopWizardPrices(items) {
const apiVersion = "0.1";
const request = await createPostRequest(apiVersion, items);
return fetch(`${url}/shop-prices/bulk`, request);
}