beatsaber-bot-core 0.2.0-dev.34 → 0.2.0-dev.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,7 +28,8 @@ class RenderService {
28
28
  onRenderStart,
29
29
  userPreference,
30
30
  }).catch((e) => {
31
- if (e instanceof puppeteer_core_1.TimeoutError) {
31
+ if (e instanceof puppeteer_core_1.TimeoutError || e instanceof puppeteer_core_1.PuppeteerError) {
32
+ console.error(e);
32
33
  throw new errors_1.ImageRenderError();
33
34
  }
34
35
  throw e;
@@ -65,14 +66,15 @@ class RenderService {
65
66
  onRenderError,
66
67
  onRenderStart,
67
68
  }).catch((e) => {
68
- if (e instanceof puppeteer_core_1.TimeoutError) {
69
+ if (e instanceof puppeteer_core_1.TimeoutError || e instanceof puppeteer_core_1.PuppeteerError) {
70
+ console.error(e);
69
71
  throw new errors_1.ImageRenderError();
70
72
  }
71
73
  throw e;
72
74
  });
73
75
  }
74
76
  _renderScore = async (scoreId, platform, api, renderOpts) => {
75
- const bg = (await renderOpts.userPreference.get(utils_1.preferenceKey.blScoreImg.key)) ?? 'https://www.loliapi.com/acg/pc/';
77
+ const bg = (await renderOpts?.userPreference?.get(utils_1.preferenceKey.blScoreImg.key)) ?? 'https://www.loliapi.com/acg/pc/';
76
78
  try {
77
79
  const { score, statistic, bsor, bsMap } = await api.BeatLeader.getScoreAndBSMapByScoreId(scoreId);
78
80
  const { aroundScores, regionTopScores, difficulties } = await api.BeatLeader.getAroundScoreAndRegionScoreByRankAndPage(score.leaderboardId, score.rank, score.player.country);
@@ -95,6 +97,12 @@ class RenderService {
95
97
  userPreference,
96
98
  onRenderError,
97
99
  onRenderStart,
100
+ }).catch((e) => {
101
+ if (e instanceof puppeteer_core_1.TimeoutError || e instanceof puppeteer_core_1.PuppeteerError) {
102
+ console.error(e);
103
+ throw new errors_1.ImageRenderError();
104
+ }
105
+ throw e;
98
106
  });
99
107
  }
100
108
  async renderMap(map, userPreference, onRenderStart = noop, onRenderError = noop
@@ -107,7 +115,8 @@ class RenderService {
107
115
  onRenderError,
108
116
  onRenderStart,
109
117
  }).catch((e) => {
110
- if (e instanceof puppeteer_core_1.TimeoutError) {
118
+ if (e instanceof puppeteer_core_1.TimeoutError || e instanceof puppeteer_core_1.PuppeteerError) {
119
+ console.error(e);
111
120
  throw new errors_1.ImageRenderError();
112
121
  }
113
122
  throw e;
@@ -115,21 +124,16 @@ class RenderService {
115
124
  }
116
125
  async renderUrl(url, onRenderStart) {
117
126
  if (this.urlToImgBufferConverter) {
118
- return this.urlToImgBufferConverter(url, onRenderStart);
127
+ return this.urlToImgBufferConverter(url, onRenderStart).catch((e) => {
128
+ if (e instanceof puppeteer_core_1.TimeoutError || e instanceof puppeteer_core_1.PuppeteerError) {
129
+ console.error(e);
130
+ throw new errors_1.ImageRenderError();
131
+ }
132
+ throw e;
133
+ });
119
134
  }
120
135
  }
121
136
  _renderMap = async (bsMap, renderOpts) => {
122
- // if (renderOpts.type == 'remote') {
123
- // for (let i = 0; i < 3; i++) {
124
- // const image = await renderRemoteMap(
125
- // bsMap.id,
126
- // renderOpts as RemoteRenderOpts
127
- // )
128
- // if (image) {
129
- // return image
130
- // }
131
- // }
132
- // }
133
137
  const previewQrUrl = await (0, qrcode_1.default)(`https://allpoland.github.io/ArcViewer/?id=${bsMap.id}`);
134
138
  const bsMapQrUrl = await (0, qrcode_1.default)(`https://beatsaver.com/maps/${bsMap.id}`);
135
139
  return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getBSMapComp)(bsMap, bsMapQrUrl, previewQrUrl)), renderOpts.onRenderStart, renderOpts.onRenderError);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/img-render/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/img-render/index.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ interface BLPlayerInfoProps {
4
4
  params?: Record<string, string>;
5
5
  bg: string;
6
6
  }
7
- export default function BLPlayerPage({ beatleaderItems, user, params, bg, }: BLPlayerInfoProps): import("react/jsx-runtime").JSX.Element;
7
+ export default function BLPlayerPage({ beatleaderItems: items, user, params, bg, }: BLPlayerInfoProps): import("react/jsx-runtime").JSX.Element;
8
8
  export {};
@@ -35,9 +35,13 @@ const bl_score_item_1 = __importDefault(require("../components/bl-score-item"));
35
35
  const flag_1 = __importStar(require("../components/flag"));
36
36
  const tw_join_1 = require("../utils/tw-join");
37
37
  const blheadset_1 = require("../utils/bl/blheadset");
38
- function BLPlayerPage({ beatleaderItems, user, params, bg, }) {
38
+ function BLPlayerPage({ beatleaderItems: items, user, params, bg, }) {
39
39
  const part = (0, getPart_1.default)(user);
40
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { id: 'render-result', className: 'flex flex-col justify-center items-center relative h-[720px] w-[1024px] my-auto', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white rounded-lg flex flex-col space-y-2 z-10', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between', children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 pb-2", children: [(0, jsx_runtime_1.jsx)("img", { src: user.avatar, className: 'h-36 w-36 rounded-md z-10', loading: 'eager' }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col justify-between', children: [(0, jsx_runtime_1.jsx)("span", { className: 'text-3xl font-bold', children: user.name }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-md font-bold items-center', children: [(0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", user.rank] })] }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: user.country }), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", user.countryRank] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2 align-items-center ", children: [(0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'P', count: user.scoreStats.topPlatform }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'H', count: (0, blheadset_1.getHeadsetForHMD)(user.scoreStats.topHMD) }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'R', count: user.scoreStats.rankedPlayCount })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, tw_join_1.twJoin)('text-4xl font-bold ', ' bg-gradient-to-r bg-clip-text text-transparent from-blue-300 to-red-300', 'text-orange-100'), children: [user.pp, " PP"] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "px-3 flex flex-col justify-end items-center grow", children: [user.badges.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "grid grid-cols-3 gap-2 justify-self-center align-items-cener justify-items-center mb-auto mt-2", children: user.badges.map((badge) => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("img", { alt: badge.description, src: badge.image, width: '70px', height: '20px', className: "self-center w-[70px] h-5" }, badge.id) }))) })), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-3 gap-2 align-items-center py-2", children: [(0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'SS+', count: user.scoreStats.sspPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'SS', count: user.scoreStats.ssPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'S+', count: user.scoreStats.spPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'S', count: user.scoreStats.sPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'A', count: user.scoreStats.aPlays })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "ml-auto mr-4 flex justify-center items-center", children: (0, jsx_runtime_1.jsx)(skill_graph_1.default, { factorA: part.accPpPart, factorB: part.techPpPart, factorC: part.passPpPart }) })] }), (0, jsx_runtime_1.jsx)("div", { className: 'grid grid-cols-4 gap-2', children: beatleaderItems.map((item, idx) => ((0, jsx_runtime_1.jsx)(bl_score_item_1.default, { item: item }, idx))) })] }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 mx-auto w-full rounded-lg absolute h-full object-center', loading: 'eager' })] }, 'render-result') }));
40
+ const beatleaderItems = items.map((it) => ({
41
+ ...it,
42
+ pinned: it.metadata?.pinnedContexts !== undefined,
43
+ }));
44
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { id: 'render-result', className: 'flex flex-col justify-center items-center relative h-[720px] w-[1200px] my-auto', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white rounded-lg flex flex-col space-y-2 z-10', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between', children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 pb-2", children: [(0, jsx_runtime_1.jsx)("img", { src: user.avatar, className: 'h-36 w-36 rounded-md z-10', loading: 'eager' }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col justify-between', children: [(0, jsx_runtime_1.jsx)("span", { className: 'text-3xl font-bold', children: user.name }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-md font-bold items-center', children: [(0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", user.rank] })] }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: user.country }), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", user.countryRank] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2 align-items-center ", children: [(0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'P', count: user.scoreStats.topPlatform }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'H', count: (0, blheadset_1.getHeadsetForHMD)(user.scoreStats.topHMD) }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'R', count: user.scoreStats.rankedPlayCount })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, tw_join_1.twJoin)('text-4xl font-bold ', ' bg-gradient-to-r bg-clip-text text-transparent from-blue-300 to-red-300', 'text-orange-100'), children: [user.pp, " PP"] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "px-3 flex flex-col justify-end items-center grow", children: [user.badges.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "grid grid-cols-3 gap-2 justify-self-center align-items-cener justify-items-center mb-auto mt-2", children: user.badges.map((badge) => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("img", { alt: badge.description, src: badge.image, width: '70px', height: '20px', className: "self-center w-[70px] h-5" }, badge.id) }))) })), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-3 gap-2 align-items-center py-2", children: [(0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'SS+', count: user.scoreStats.sspPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'SS', count: user.scoreStats.ssPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'S+', count: user.scoreStats.spPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'S', count: user.scoreStats.sPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'A', count: user.scoreStats.aPlays })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "ml-auto mr-4 flex justify-center items-center", children: (0, jsx_runtime_1.jsx)(skill_graph_1.default, { factorA: part.accPpPart, factorB: part.techPpPart, factorC: part.passPpPart }) })] }), (0, jsx_runtime_1.jsx)("div", { className: 'grid grid-cols-4 gap-2', children: beatleaderItems.map((item, idx) => ((0, jsx_runtime_1.jsx)(bl_score_item_1.default, { item: item }, idx))) })] }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 mx-auto w-full rounded-lg absolute h-full object-center', loading: 'eager' })] }, 'render-result') }));
41
45
  }
42
46
  exports.default = BLPlayerPage;
43
47
  //# sourceMappingURL=bl-player.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bl-player.js","sourceRoot":"","sources":["../../../src/img-render/result/bl-player.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bl-player.js","sourceRoot":"","sources":["../../../src/img-render/result/bl-player.tsx"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ const flag_1 = __importStar(require("../components/flag"));
32
32
  const tw_join_1 = require("../utils/tw-join");
33
33
  const ss_score_item_1 = __importDefault(require("../components/ss-score-item"));
34
34
  function SSPlayerPage({ leaderItems, scoreUser, bg, params, }) {
35
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col justify-center items-center relative h-[720px] w-[1024px] my-auto', id: "render-result", children: [(0, jsx_runtime_1.jsxs)("div", { className: 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white rounded-lg flex flex-col space-y-2 z-10', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-4 pb-2', children: [(0, jsx_runtime_1.jsx)("img", { className: 'h-32 w-32 rounded-md', src: scoreUser.profilePicture, loading: 'eager' }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col justify-between', children: [(0, jsx_runtime_1.jsx)("span", { className: 'text-3xl font-bold', children: scoreUser.name }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-md font-bold items-center', children: [(0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", scoreUser.rank] })] }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: scoreUser.country }), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", scoreUser.countryRank] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, tw_join_1.twJoin)('text-4xl font-bold ', ' bg-gradient-to-r bg-clip-text text-transparent from-blue-300 to-red-300', 'text-orange-100'), children: [scoreUser.pp.toFixed(3), " PP"] })] }), (0, jsx_runtime_1.jsx)("div", { className: 'text-4xl pl-40 items-center flex text-gray-100 opacity-70', children: (0, jsx_runtime_1.jsx)("span", { children: "coming soon, ... maybe?" }) })] }), (0, jsx_runtime_1.jsx)("div", { className: 'grid grid-cols-4 gap-2', children: leaderItems.map((item, idx) => ((0, jsx_runtime_1.jsx)(ss_score_item_1.default, { scoreItem: item }, idx))) })] }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 mx-auto w-full rounded-lg absolute h-full object-center', loading: 'eager' })] }) }));
35
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col justify-center items-center relative h-[720px] w-[1200px] my-auto', id: "render-result", children: [(0, jsx_runtime_1.jsxs)("div", { className: 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white rounded-lg flex flex-col space-y-2 z-10', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-4 pb-2', children: [(0, jsx_runtime_1.jsx)("img", { className: 'h-32 w-32 rounded-md', src: scoreUser.profilePicture, loading: 'eager' }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col justify-between', children: [(0, jsx_runtime_1.jsx)("span", { className: 'text-3xl font-bold', children: scoreUser.name }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-md font-bold items-center', children: [(0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", scoreUser.rank] })] }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: scoreUser.country }), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", scoreUser.countryRank] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, tw_join_1.twJoin)('text-4xl font-bold ', ' bg-gradient-to-r bg-clip-text text-transparent from-blue-300 to-red-300', 'text-orange-100'), children: [scoreUser.pp.toFixed(3), " PP"] })] }), (0, jsx_runtime_1.jsx)("div", { className: 'text-4xl pl-40 items-center flex text-gray-100 opacity-70', children: (0, jsx_runtime_1.jsx)("span", { children: "coming soon, ... maybe?" }) })] }), (0, jsx_runtime_1.jsx)("div", { className: 'grid grid-cols-4 gap-2', children: leaderItems.map((item, idx) => ((0, jsx_runtime_1.jsx)(ss_score_item_1.default, { scoreItem: item }, idx))) })] }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 mx-auto w-full rounded-lg absolute h-full object-center', loading: 'eager' })] }) }));
36
36
  }
37
37
  exports.default = SSPlayerPage;
38
38
  //# sourceMappingURL=ss-player.js.map
@@ -2,17 +2,20 @@
2
2
  import { Browser, ScreenshotClip, ScreenshotOptions } from 'puppeteer-core';
3
3
  import { Config } from '../config';
4
4
  export interface PuppeteerProvider {
5
- browser: Browser;
5
+ browser: () => Promise<Browser>;
6
6
  ok: boolean;
7
7
  }
8
8
  export declare class RemotePuppeteerProvider implements PuppeteerProvider {
9
- browser: Browser;
9
+ _browser: Browser;
10
+ endpoint: string;
11
+ _ok: boolean;
12
+ browser(): Promise<Browser>;
10
13
  constructor(config: Config);
11
14
  get ok(): boolean;
12
15
  }
13
16
  export declare class PuppeteerRender {
14
17
  browserHolders: PuppeteerProvider[];
15
- get browser(): Browser;
18
+ get browser(): Promise<Browser>;
16
19
  get ok(): false | PuppeteerProvider;
17
20
  constructor(providers: PuppeteerProvider[]);
18
21
  renderHTML(html: string, selector: string, onStart?: () => void, screenShotOption?: (clip: ScreenshotClip) => ScreenshotOptions): Promise<Buffer>;
@@ -7,20 +7,28 @@ exports.PuppeteerRender = exports.RemotePuppeteerProvider = void 0;
7
7
  const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
8
8
  const index_1 = require("./index");
9
9
  class RemotePuppeteerProvider {
10
- browser;
10
+ _browser;
11
+ endpoint;
12
+ _ok = true;
13
+ async browser() {
14
+ if (this._browser?.connected) {
15
+ return this._browser;
16
+ }
17
+ try {
18
+ this._browser = await puppeteer_core_1.default.connect({
19
+ browserWSEndpoint: this.endpoint,
20
+ });
21
+ return this._browser;
22
+ }
23
+ catch (e) {
24
+ this._ok = false;
25
+ }
26
+ }
11
27
  constructor(config) {
12
- puppeteer_core_1.default
13
- .connect({ browserWSEndpoint: config.broswerlessWSEndpoint })
14
- .then((res) => {
15
- console.log('connect to browser successful');
16
- this.browser = res;
17
- })
18
- .catch((e) => {
19
- console.error('connection error', e);
20
- });
28
+ this.endpoint = config.broswerlessWSEndpoint;
21
29
  }
22
30
  get ok() {
23
- return this.browser != null || this.browser != undefined;
31
+ return this._ok;
24
32
  }
25
33
  }
26
34
  exports.RemotePuppeteerProvider = RemotePuppeteerProvider;
@@ -29,7 +37,7 @@ class PuppeteerRender {
29
37
  get browser() {
30
38
  const provider = this.browserHolders.find((it) => it.ok);
31
39
  if (provider) {
32
- return provider.browser;
40
+ return provider.browser();
33
41
  }
34
42
  throw Error('NoSuitablePuppeteerProviderFound');
35
43
  }
@@ -37,35 +45,40 @@ class PuppeteerRender {
37
45
  return this.browserHolders.find((it) => it.ok) ?? false;
38
46
  }
39
47
  constructor(providers) {
40
- // unsafe singleton, but enough for now
41
48
  this.browserHolders = providers;
42
49
  }
43
50
  async renderHTML(html, selector, onStart, screenShotOption) {
44
51
  onStart?.();
45
- const page = await this.browser.newPage();
52
+ const browser = await this.browser;
53
+ const page = await browser.newPage();
46
54
  await page.setContent(html);
47
- await page.setViewport({
48
- width: 3840,
49
- height: 2160,
50
- deviceScaleFactor: 1,
51
- });
55
+ // await page.setViewport({
56
+ // width: 3840,
57
+ // height: 2160,
58
+ // deviceScaleFactor: 1,
59
+ // })
52
60
  const elm = await page.waitForSelector(selector, { timeout: 5000 });
53
- // const clip = await elm.boundingBox()
54
- const u8Arr = await elm
55
- .screenshot();
61
+ const clip = await elm.boundingBox();
62
+ const u8Arr = await elm.screenshot(screenShotOption
63
+ ? screenShotOption(clip)
64
+ : {
65
+ clip: clip,
66
+ type: 'png',
67
+ });
56
68
  await page.close();
57
69
  return Buffer.from(u8Arr);
58
70
  }
59
71
  async screenshotURL(url, selector, onStart, screenShotOption) {
60
72
  onStart?.();
61
- const page = await this.browser.newPage();
62
- await page.setViewport({
63
- width: 3840,
64
- height: 2160,
65
- deviceScaleFactor: 1,
66
- });
73
+ const browser = await this.browser;
74
+ const page = await browser.newPage();
75
+ // await page.setViewport({
76
+ // width: 3840,
77
+ // height: 2160,
78
+ // deviceScaleFactor: 1,
79
+ // })
67
80
  await page.goto(url, { timeout: 0, waitUntil: 'domcontentloaded' });
68
- const elm = await page.waitForSelector(selector, { timeout: 20000 });
81
+ const elm = await page.waitForSelector(selector, { timeout: 10000 });
69
82
  // wait for potential animation
70
83
  await (0, index_1.sleep)(3000);
71
84
  // const clip = await elm.boundingBox()
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../../src/utils/puppeteer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../../src/utils/puppeteer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "beatsaber-bot-core",
3
3
  "description": "一个用于新版 Steam 家庭的库存监控 Bot 插件",
4
- "version": "0.2.0-dev.34",
4
+ "version": "0.2.0-dev.35",
5
5
  "types": "lib/index.d.ts",
6
6
  "files": [
7
7
  "lib"
@@ -60,10 +60,14 @@
60
60
  "lru-cache": "^11.0.1",
61
61
  "lucide-react": "^0.379.0",
62
62
  "ofetch": "^1.4.1",
63
- "puppeteer-core": "^23.4.1",
63
+ "puppeteer-core": "^23.8.0",
64
64
  "react": "^18.3.1",
65
65
  "react-dom": "^18.3.1"
66
66
  },
67
+ "devDependencies": {
68
+ "tailwindcss": "^3.4.15",
69
+ "autoprefixer": "^10.4.20"
70
+ },
67
71
  "optionalDependencies": {
68
72
  "canvas": "^2.11.2",
69
73
  "skia-canvas": "^1.0.1",