beatsaber-bot-core 0.2.0-dev.6 → 0.2.0-dev.8
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.
- package/lib/api/base/blRequset.js +7 -7
- package/lib/api/base/blRequset.js.map +1 -1
- package/lib/api/interfaces/beatsaver/ws.d.ts +8 -2
- package/lib/cmd/bind/bind-beatleader.js.map +1 -1
- package/lib/cmd/bind/bind-beatsaver.js.map +1 -1
- package/lib/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/lib/cmd/bind/bind-scoresaber.js.map +1 -1
- package/lib/cmd/bind/index.d.ts +2 -2
- package/lib/cmd/bsmap/id-search.d.ts +1 -1
- package/lib/cmd/bsmap/id-search.js +1 -1
- package/lib/cmd/bsmap/id-search.js.map +1 -1
- package/lib/cmd/bsmap/key-search.d.ts +1 -1
- package/lib/cmd/bsmap/latest.d.ts +1 -1
- package/lib/cmd/builder.d.ts +2 -2
- package/lib/cmd/builder.js +20 -1
- package/lib/cmd/builder.js.map +1 -1
- package/lib/cmd/deprecated/cmp.d.ts +1 -1
- package/lib/cmd/deprecated/me.d.ts +2 -2
- package/lib/cmd/deprecated/tmp.d.ts +1 -1
- package/lib/cmd/deprecated/whois.d.ts +2 -2
- package/lib/cmd/help.d.ts +1 -1
- package/lib/cmd/rank.d.ts +2 -2
- package/lib/cmd/rank.js +4 -2
- package/lib/cmd/rank.js.map +1 -1
- package/lib/cmd/score.d.ts +2 -2
- package/lib/cmd/subscribe/index.d.ts +2 -2
- package/lib/cmd/subscribe/subjoin.d.ts +2 -2
- package/lib/cmd/subscribe/subleave.d.ts +2 -2
- package/lib/cmd/subscribe/unsubscribe.d.ts +2 -2
- package/lib/db/index.d.ts +0 -34
- package/lib/db/index.js +0 -2
- package/lib/errors/index.d.ts +25 -41
- package/lib/errors/index.js +54 -59
- package/lib/errors/index.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/interface/bot.d.ts +1 -1
- package/lib/interface/{db.d.ts → db/index.d.ts} +2 -1
- package/lib/interface/db/index.js +18 -0
- package/lib/interface/db/index.js.map +1 -0
- package/lib/interface/db/models.d.ts +34 -0
- package/lib/interface/{db.js → db/models.js} +1 -1
- package/lib/interface/db/models.js.map +1 -0
- package/lib/interface/index.d.ts +0 -1
- package/lib/interface/index.js +0 -1
- package/lib/interface/index.js.map +1 -1
- package/lib/schedules/index.d.ts +3 -2
- package/lib/schedules/index.js +13 -16
- package/lib/schedules/index.js.map +1 -1
- package/lib/schedules/interface.d.ts +17 -0
- package/lib/schedules/interface.js +3 -0
- package/lib/schedules/interface.js.map +1 -0
- package/lib/schedules/oauthTokenRefreshTask.d.ts +2 -5
- package/lib/schedules/oauthTokenRefreshTask.js +9 -9
- package/lib/schedules/oauthTokenRefreshTask.js.map +1 -1
- package/lib/utils/cache.d.ts +2 -0
- package/lib/utils/cache.js +30 -0
- package/lib/utils/cache.js.map +1 -0
- package/lib/utils/index.d.ts +5 -0
- package/lib/utils/index.js +77 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/ws/beatsaver.d.ts +6 -1
- package/lib/ws/beatsaver.js +28 -29
- package/lib/ws/beatsaver.js.map +1 -1
- package/package.json +2 -1
- package/lib/interface/db.js.map +0 -1
- package/lib/interface/tables.d.ts +0 -0
- package/lib/interface/tables.js +0 -1
- package/lib/interface/tables.js.map +0 -1
- package/lib/utils.d.ts +0 -2
- package/lib/utils.js +0 -25
- package/lib/utils.js.map +0 -1
package/lib/ws/beatsaver.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.BeatSaverWSHandler = void 0;
|
4
|
+
const utils_1 = require("../utils");
|
4
5
|
class BeatSaverWSHandler {
|
5
6
|
logger;
|
6
7
|
render;
|
@@ -21,39 +22,37 @@ class BeatSaverWSHandler {
|
|
21
22
|
onClose() {
|
22
23
|
this.logger.info('BeatsaverWS closed');
|
23
24
|
}
|
24
|
-
|
25
|
-
|
25
|
+
eventParser(event) {
|
26
|
+
return JSON.parse(event.toString());
|
27
|
+
}
|
28
|
+
eventFilter = (data) => {
|
29
|
+
return (data.type === 'MAP_UPDATE' &&
|
30
|
+
data.msg.versions.some((it) => it.state == 'Published') &&
|
31
|
+
data.msg.declaredAi === 'None');
|
32
|
+
};
|
33
|
+
eventIdSelector = (data) => `ws.bs.${data.type === 'MAP_DELETE' ? data.msg : data.msg.id}.${data.type}`;
|
34
|
+
async BSWSHandler(data) {
|
26
35
|
// this.logger.info('Beatsaver message received', data.type, data?.msg?.id)
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
const
|
37
|
-
|
38
|
-
|
39
|
-
]);
|
40
|
-
const restSub = subscriptions.filter((it) => it.subscribe.type == 'beatsaver-map' && it.subscribe.enable == true);
|
41
|
-
// cacheService
|
42
|
-
if (restSub.length === 0)
|
43
|
-
return;
|
44
|
-
const image = this.render.renderMap(bsmap);
|
45
|
-
for (const item of restSub) {
|
46
|
-
const session = this.botService.getSessionByChannelInfo(item.groupChannel);
|
47
|
-
if (!session) {
|
48
|
-
continue;
|
49
|
-
}
|
50
|
-
await session.send(`本群谱师 「<at id="${item.account.uid}"/> (${bsmap.uploader.name})」刚刚发布了新谱面,「${bsmap.name}」`);
|
51
|
-
// text + mention element
|
52
|
-
await session.send(await image);
|
53
|
-
await session.sendAudioByUrl(bsmap.versions[0].previewURL);
|
36
|
+
const bsmap = data.msg;
|
37
|
+
const userId = bsmap.uploader.id;
|
38
|
+
const subscriptions = await this.db.getAllSubScriptionByUIDAndPlatform(userId, 'beatsaver');
|
39
|
+
const restSub = subscriptions.filter((it) => it.subscribe.type == 'beatsaver-map' && it.subscribe.enable == true);
|
40
|
+
// cacheService
|
41
|
+
if (restSub.length === 0)
|
42
|
+
return;
|
43
|
+
const image = this.render.renderMap(bsmap);
|
44
|
+
for (const item of restSub) {
|
45
|
+
const session = this.botService.getSessionByChannelInfo(item.groupChannel);
|
46
|
+
if (!session) {
|
47
|
+
continue;
|
54
48
|
}
|
49
|
+
await session.send(`本群谱师 「<at id="${item.account.uid}"/> (${bsmap.uploader.name})」刚刚发布了新谱面,「${bsmap.name}」`);
|
50
|
+
// text + mention element
|
51
|
+
await session.send(await image);
|
52
|
+
await session.sendAudioByUrl(bsmap.versions[0].previewURL);
|
55
53
|
}
|
56
54
|
}
|
55
|
+
onEvent = (0, utils_1.handleWSEventWithCache)(this, this.BSWSHandler, 1000 * 60 * 15, this.eventParser, this.eventFilter, this.eventIdSelector);
|
57
56
|
}
|
58
57
|
exports.BeatSaverWSHandler = BeatSaverWSHandler;
|
59
58
|
//# sourceMappingURL=beatsaver.js.map
|
package/lib/ws/beatsaver.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"beatsaver.js","sourceRoot":"","sources":["../../src/ws/beatsaver.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"beatsaver.js","sourceRoot":"","sources":["../../src/ws/beatsaver.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.
|
4
|
+
"version": "0.2.0-dev.8",
|
5
5
|
"types": "lib/index.d.ts",
|
6
6
|
"files": [
|
7
7
|
"lib"
|
@@ -56,6 +56,7 @@
|
|
56
56
|
"chart.js": "^4.4.3",
|
57
57
|
"country-flag-icons": "^1.5.11",
|
58
58
|
"dayjs": "^1.11.3",
|
59
|
+
"lru-cache": "^11.0.1",
|
59
60
|
"lucide-react": "^0.379.0",
|
60
61
|
"react": "^18.3.1",
|
61
62
|
"react-dom": "^18.3.1"
|
package/lib/interface/db.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/interface/db.ts"],"names":[],"mappings":""}
|
File without changes
|
package/lib/interface/tables.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
//# sourceMappingURL=tables.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"tables.js","sourceRoot":"","sources":["../../src/interface/tables.ts"],"names":[],"mappings":""}
|
package/lib/utils.d.ts
DELETED
package/lib/utils.js
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.convertDiff = exports.sleep = void 0;
|
4
|
-
const sleep = async (millsec = 5000) => {
|
5
|
-
await new Promise((resolve, reject) => {
|
6
|
-
setTimeout(resolve, millsec);
|
7
|
-
});
|
8
|
-
};
|
9
|
-
exports.sleep = sleep;
|
10
|
-
const diffMap = {
|
11
|
-
E: 'Easy',
|
12
|
-
N: 'Normal',
|
13
|
-
H: 'Hard',
|
14
|
-
EX: 'Expert',
|
15
|
-
EP: 'ExpertPlus',
|
16
|
-
'EX+': 'ExpertPlus',
|
17
|
-
};
|
18
|
-
const convertDiff = (diff) => {
|
19
|
-
if (!diff) {
|
20
|
-
return diff;
|
21
|
-
}
|
22
|
-
return diffMap[diff.toUpperCase()];
|
23
|
-
};
|
24
|
-
exports.convertDiff = convertDiff;
|
25
|
-
//# sourceMappingURL=utils.js.map
|
package/lib/utils.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAO,MAAM,KAAK,GAAG,KAAK,EAAE,UAAkB,IAAI,EAAE,EAAE;IACpD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAJY,QAAA,KAAK,SAIjB;AAED,MAAM,OAAO,GAAG;IACd,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,MAAM;IACT,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;CACpB,CAAA;AAEM,MAAM,WAAW,GAAG,CAAC,IAAmB,EAAE,EAAE;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;AACpC,CAAC,CAAA;AALY,QAAA,WAAW,eAKvB"}
|