koishi-plugin-beatsaber-bot
Version:
一个 用于 BeatSaber 的 koishi Bot 插件
42 lines (41 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.screenshotTmp = exports.screenshot = void 0;
const sleep_1 = require("./utils/sleep");
const screenshot = async (puppeteer, url, selector, onLoad, waitTime = 5000) => {
const page = await puppeteer.page();
await page.setViewport({
width: 1920,
height: 1080,
deviceScaleFactor: 2,
});
await page.goto(url, { timeout: 0, waitUntil: 'domcontentloaded' });
onLoad?.();
await (0, sleep_1.sleep)(waitTime);
const elm = await page.waitForSelector(selector, { timeout: waitTime });
const buffer = await elm.screenshot({});
await page.close();
return buffer;
};
exports.screenshot = screenshot;
const screenshotTmp = async (puppeteer, url, selector, onLoad, waitTime = 5000) => {
const page = await puppeteer.page();
await page.setViewport({
width: 1400,
height: 4096,
deviceScaleFactor: 2,
});
await page.goto(url, { timeout: 0, waitUntil: 'domcontentloaded' });
onLoad?.();
await new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, waitTime);
});
const elm = await page.waitForSelector(selector, { timeout: waitTime });
const buffer = await elm.screenshot({});
// = await page.screenshot({})
await page.close();
return buffer;
};
exports.screenshotTmp = screenshotTmp;