UNPKG

koishi-plugin-steam-family-bot

Version:

一个用于新版 Steam 家庭的库存监控 koishi Bot 插件

85 lines 3.38 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.KoishiImgRender = exports.creatPuppeteerRender = exports.PluginPuppeteerProvider = void 0; const steam_family_bot_core_1 = require("steam-family-bot-core"); const render_1 = require("steam-family-bot-core/render"); class PluginPuppeteerProvider { ctx; _browser; _ok = true; async browser() { if (this._browser) { return this._browser; } try { await Promise.resolve().then(() => __importStar(require('koishi-plugin-puppeteer'))); const pup = this.ctx.puppeteer; this._browser = pup.browser; return this._browser; } catch (e) { console.error('koishi-plugin-puppeteer not installed, render is disable'); this._ok = false; } } constructor(config, ctx) { this.ctx = ctx; } get ok() { return this._ok != null; } } exports.PluginPuppeteerProvider = PluginPuppeteerProvider; const creatPuppeteerRender = (config, ctx) => { const pluginProvider = new PluginPuppeteerProvider(config, ctx); const remoteProvider = new steam_family_bot_core_1.RemotePuppeteerProvider(config); if (config.preferPuppeteerMode === 'local-plugin') { return new steam_family_bot_core_1.PuppeteerRender([pluginProvider, remoteProvider]); } return new steam_family_bot_core_1.PuppeteerRender([remoteProvider, pluginProvider]); }; exports.creatPuppeteerRender = creatPuppeteerRender; class KoishiImgRender { config; puppeteerRender; constructor(ctx, cfg) { this.config = cfg; this.puppeteerRender = (0, exports.creatPuppeteerRender)(cfg, ctx); } async screenshotFamilyStatistic(token, onStart) { const buffer = await this.puppeteerRender.screenshotURL(`${this.config.SteamHelperAPIHost}/render?access_token=${token}`, '#data-graph', onStart); return Buffer.from(buffer); } async getFamilyStatisticImg(games, onStart, onError) { const buf = await this.puppeteerRender.renderHTML((0, render_1.getStatHtml)(games), '#data-graph', onStart); return Buffer.from(buf); } isRenderEnable() { return this.puppeteerRender.ok; } } exports.KoishiImgRender = KoishiImgRender; //# sourceMappingURL=render.js.map