beatsaber-bot-core 0.3.0-rc.13 → 0.3.0-rc.2
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/dist/cjs/cmd/bind/bind-beatleader.js +11 -8
- package/dist/cjs/cmd/bind/bind-beatleader.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-beatsaver.js +12 -7
- package/dist/cjs/cmd/bind/bind-beatsaver.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-id-beatleader.js +11 -8
- package/dist/cjs/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-id-beatsaver.js +11 -7
- package/dist/cjs/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-scoresaber.js +14 -9
- package/dist/cjs/cmd/bind/bind-scoresaber.js.map +1 -1
- package/dist/cjs/cmd/rank.js +3 -3
- package/dist/cjs/cmd/rank.js.map +1 -1
- package/dist/cjs/cmd/score.js +2 -2
- package/dist/cjs/cmd/score.js.map +1 -1
- package/dist/cjs/cmd/subscribe/beatleader.js +1 -1
- package/dist/cjs/cmd/subscribe/beatleader.js.map +1 -1
- package/dist/cjs/cmd/subscribe/beatsaver.js +1 -1
- package/dist/cjs/cmd/subscribe/beatsaver.js.map +1 -1
- package/dist/cjs/cmd/subscribe/id-beatleader-score.js +1 -1
- package/dist/cjs/cmd/subscribe/id-beatleader-score.js.map +1 -1
- package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js +1 -1
- package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
- package/dist/cjs/cmd/subscribe/index.js +4 -4
- package/dist/cjs/cmd/subscribe/index.js.map +1 -1
- package/dist/cjs/cmd/subscribe/subleave.js +4 -4
- package/dist/cjs/cmd/subscribe/subleave.js.map +1 -1
- package/dist/cjs/common/i18n/index.js +1 -2
- package/dist/cjs/common/i18n/index.js.map +1 -1
- package/dist/cjs/services/i18n/index.js +2 -2
- package/dist/cjs/services/i18n/index.js.map +1 -1
- package/dist/esm/cmd/bind/bind-beatleader.js +11 -8
- package/dist/esm/cmd/bind/bind-beatleader.js.map +1 -1
- package/dist/esm/cmd/bind/bind-beatsaver.js +12 -7
- package/dist/esm/cmd/bind/bind-beatsaver.js.map +1 -1
- package/dist/esm/cmd/bind/bind-id-beatleader.js +11 -8
- package/dist/esm/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/dist/esm/cmd/bind/bind-id-beatsaver.js +11 -7
- package/dist/esm/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/dist/esm/cmd/bind/bind-scoresaber.js +14 -9
- package/dist/esm/cmd/bind/bind-scoresaber.js.map +1 -1
- package/dist/esm/cmd/rank.js +3 -3
- package/dist/esm/cmd/rank.js.map +1 -1
- package/dist/esm/cmd/score.js +2 -2
- package/dist/esm/cmd/score.js.map +1 -1
- package/dist/esm/cmd/subscribe/beatleader.js +1 -1
- package/dist/esm/cmd/subscribe/beatleader.js.map +1 -1
- package/dist/esm/cmd/subscribe/beatsaver.js +1 -1
- package/dist/esm/cmd/subscribe/beatsaver.js.map +1 -1
- package/dist/esm/cmd/subscribe/id-beatleader-score.js +1 -1
- package/dist/esm/cmd/subscribe/id-beatleader-score.js.map +1 -1
- package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js +1 -1
- package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
- package/dist/esm/cmd/subscribe/index.js +4 -4
- package/dist/esm/cmd/subscribe/index.js.map +1 -1
- package/dist/esm/cmd/subscribe/subleave.js +4 -4
- package/dist/esm/cmd/subscribe/subleave.js.map +1 -1
- package/dist/esm/common/i18n/index.js +1 -2
- package/dist/esm/common/i18n/index.js.map +1 -1
- package/dist/esm/services/i18n/index.js +2 -2
- package/dist/esm/services/i18n/index.js.map +1 -1
- package/package.json +17 -8
@@ -19,7 +19,6 @@ var __async = (__this, __arguments, generator) => {
|
|
19
19
|
});
|
20
20
|
};
|
21
21
|
const handleBeatLeaderBind = (c) => __async(null, null, function* () {
|
22
|
-
var _a;
|
23
22
|
const tokenInfo = yield c.services.api.AIOSaber.getBLOAuthToken(c.input);
|
24
23
|
if (!tokenInfo) {
|
25
24
|
c.session.sendQuote(c.session.text("commands.bsbot.bl.account.not-found"));
|
@@ -49,18 +48,22 @@ const handleBeatLeaderBind = (c) => __async(null, null, function* () {
|
|
49
48
|
const now = /* @__PURE__ */ new Date();
|
50
49
|
const { blAccount } = yield c.services.db.getUserAccountsByUid(c.session.user.id);
|
51
50
|
const account = {
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
51
|
+
uid: c.session.user.id,
|
52
|
+
platform: "beatleader",
|
53
|
+
platformScope: "profile clan offline_access",
|
54
|
+
platformUid: self.id,
|
55
|
+
platformUname: self.name,
|
56
|
+
otherPlatformInfo: {},
|
57
57
|
accessToken: token.access_token,
|
58
58
|
refreshToken: token.refresh_token,
|
59
59
|
lastModifiedAt: now,
|
60
60
|
lastRefreshAt: now,
|
61
|
-
|
62
|
-
|
61
|
+
type: "oauth",
|
62
|
+
status: "ok"
|
63
63
|
};
|
64
|
+
if (blAccount) {
|
65
|
+
account.id = blAccount.id;
|
66
|
+
}
|
64
67
|
yield c.services.db.addUserBindingInfo(account);
|
65
68
|
c.session.sendQuote(
|
66
69
|
c.session.text("commands.bsbot.bind.bl.success", {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/bind/bind-beatleader.ts"],"sourcesContent":["import {
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/bind/bind-beatleader.ts"],"sourcesContent":["import { RelateAccount } from '@/interface'\nimport {CmdContext} from \"@/interface\";\n\nexport const handleBeatLeaderBind = async (c: CmdContext) => {\n const tokenInfo = await c.services.api.AIOSaber.getBLOAuthToken(c.input)\n if (!tokenInfo) {\n c.session.sendQuote(c.session.text('commands.bsbot.bl.account.not-found'))\n return\n }\n let token = tokenInfo\n let self = await c.services.api.BeatLeader.getTokenInfo(token.access_token)\n if (!self) {\n const refreshToken = await c.services.api.BeatLeader.refreshOAuthToken(\n token.refresh_token\n )\n if (!refreshToken) {\n c.session.sendQuote(\n c.session.text('commands.bsbot.bind.bl.invalid-token')\n )\n return\n }\n token = refreshToken\n self = await c.services.api.BeatLeader.getTokenInfo(token.access_token)\n if (!self) {\n c.session.sendQuote(\n c.session.text('commands.bsbot.bind.bl.unknown-error')\n )\n return\n }\n }\n const now = new Date()\n const { blAccount } = await c.services.db.getUserAccountsByUid(c.session.user.id)\n const account: Partial<RelateAccount> = {\n uid: c.session.user.id,\n platform: 'beatleader',\n platformScope: 'profile clan offline_access',\n platformUid: self.id,\n platformUname: self.name,\n otherPlatformInfo: {},\n accessToken: token.access_token,\n refreshToken: token.refresh_token,\n lastModifiedAt: now,\n lastRefreshAt: now,\n type: 'oauth',\n status: 'ok',\n }\n if (blAccount) {\n account.id = blAccount.id\n }\n\n await c.services.db.addUserBindingInfo(account)\n c.session.sendQuote(\n c.session.text('commands.bsbot.bind.bl.success', {\n name: self.name,\n id: self.id,\n })\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAGO,MAAM,uBAAuB,CAAO,MAAkB;AAC3D,QAAM,YAAY,MAAM,EAAE,SAAS,IAAI,SAAS,gBAAgB,EAAE,KAAK;AACvE,MAAI,CAAC,WAAW;AACd,MAAE,QAAQ,UAAU,EAAE,QAAQ,KAAK,qCAAqC,CAAC;AACzE;AAAA,EACF;AACA,MAAI,QAAQ;AACZ,MAAI,OAAO,MAAM,EAAE,SAAS,IAAI,WAAW,aAAa,MAAM,YAAY;AAC1E,MAAI,CAAC,MAAM;AACT,UAAM,eAAe,MAAM,EAAE,SAAS,IAAI,WAAW;AAAA,MACnD,MAAM;AAAA,IACR;AACA,QAAI,CAAC,cAAc;AACjB,QAAE,QAAQ;AAAA,QACR,EAAE,QAAQ,KAAK,sCAAsC;AAAA,MACvD;AACA;AAAA,IACF;AACA,YAAQ;AACR,WAAO,MAAM,EAAE,SAAS,IAAI,WAAW,aAAa,MAAM,YAAY;AACtE,QAAI,CAAC,MAAM;AACT,QAAE,QAAQ;AAAA,QACR,EAAE,QAAQ,KAAK,sCAAsC;AAAA,MACvD;AACA;AAAA,IACF;AAAA,EACF;AACA,QAAM,MAAM,oBAAI,KAAK;AACrB,QAAM,EAAE,UAAU,IAAI,MAAM,EAAE,SAAS,GAAG,qBAAqB,EAAE,QAAQ,KAAK,EAAE;AAChF,QAAM,UAAkC;AAAA,IACtC,KAAK,EAAE,QAAQ,KAAK;AAAA,IACpB,UAAU;AAAA,IACV,eAAe;AAAA,IACf,aAAa,KAAK;AAAA,IAClB,eAAe,KAAK;AAAA,IACpB,mBAAmB,CAAC;AAAA,IACpB,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACA,MAAI,WAAW;AACb,YAAQ,KAAK,UAAU;AAAA,EACzB;AAEA,QAAM,EAAE,SAAS,GAAG,mBAAmB,OAAO;AAC9C,IAAE,QAAQ;AAAA,IACR,EAAE,QAAQ,KAAK,kCAAkC;AAAA,MAC/C,MAAM,KAAK;AAAA,MACX,IAAI,KAAK;AAAA,IACX,CAAC;AAAA,EACH;AACF;","names":[]}
|
@@ -40,19 +40,24 @@ const handleBeatSaverBind = (c) => __async(null, null, function* () {
|
|
40
40
|
self = yield c.services.api.BeatSaver.getTokenInfo(token.access_token);
|
41
41
|
}
|
42
42
|
const now = /* @__PURE__ */ new Date();
|
43
|
+
const { bsAccount } = yield c.services.db.getUserAccountsByUid(c.session.user.id);
|
43
44
|
const account = {
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
45
|
+
uid: c.session.user.id,
|
46
|
+
platform: "beatsaver",
|
47
|
+
platformUid: self.id,
|
48
|
+
platformUname: self.name,
|
49
|
+
otherPlatformInfo: {},
|
50
|
+
platformScope: "identity,alerts",
|
50
51
|
accessToken: token.access_token,
|
51
52
|
refreshToken: token.refresh_token,
|
52
53
|
lastModifiedAt: now,
|
53
54
|
lastRefreshAt: now,
|
54
|
-
type: "oauth"
|
55
|
+
type: "oauth",
|
56
|
+
status: "ok"
|
55
57
|
};
|
58
|
+
if (bsAccount) {
|
59
|
+
account.id = bsAccount.id;
|
60
|
+
}
|
56
61
|
yield c.services.db.addUserBindingInfo(account);
|
57
62
|
c.session.sendQuote(
|
58
63
|
c.session.text("commands.bsbot.bind.bs.success", {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/bind/bind-beatsaver.ts"],"sourcesContent":["import { CmdContext,
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/bind/bind-beatsaver.ts"],"sourcesContent":["import { CmdContext, RelateAccount } from '@/interface'\n\nexport const handleBeatSaverBind = async (c: CmdContext) => {\n const tokenInfo = await c.services.api.AIOSaber.getBSOAuthToken(c.input)\n if (!tokenInfo) {\n c.session.sendQuote(c.session.text('commands.bsbot.bind.bs.not-found'))\n return\n }\n let token = tokenInfo\n let self = await c.services.api.BeatSaver.getTokenInfo(token.access_token)\n if (!self) {\n const refreshToken = await c.services.api.BeatSaver.refreshOAuthToken(\n token.refresh_token\n )\n if (!refreshToken) {\n c.session.sendQuote(\n c.session.text('commands.bsbot.bind.bs.invalid-token')\n )\n return\n }\n token = refreshToken\n self = await c.services.api.BeatSaver.getTokenInfo(token.access_token)\n }\n const now = new Date()\n const { bsAccount } = await c.services.db.getUserAccountsByUid(c.session.user.id)\n const account: Partial<RelateAccount> = {\n uid: c.session.user.id,\n platform: 'beatsaver',\n platformUid: self.id,\n platformUname: self.name,\n otherPlatformInfo: {},\n platformScope: 'identity,alerts',\n accessToken: token.access_token,\n refreshToken: token.refresh_token,\n lastModifiedAt: now,\n lastRefreshAt: now,\n type: 'oauth',\n status: 'ok',\n }\n if (bsAccount) {\n account.id = bsAccount.id\n }\n await c.services.db.addUserBindingInfo(account)\n c.session.sendQuote(\n c.session.text('commands.bsbot.bind.bs.success', {\n name: self.name,\n id: self.id,\n })\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEO,MAAM,sBAAsB,CAAO,MAAkB;AAC1D,QAAM,YAAY,MAAM,EAAE,SAAS,IAAI,SAAS,gBAAgB,EAAE,KAAK;AACvE,MAAI,CAAC,WAAW;AACd,MAAE,QAAQ,UAAU,EAAE,QAAQ,KAAK,kCAAkC,CAAC;AACtE;AAAA,EACF;AACA,MAAI,QAAQ;AACZ,MAAI,OAAO,MAAM,EAAE,SAAS,IAAI,UAAU,aAAa,MAAM,YAAY;AACzE,MAAI,CAAC,MAAM;AACT,UAAM,eAAe,MAAM,EAAE,SAAS,IAAI,UAAU;AAAA,MAClD,MAAM;AAAA,IACR;AACA,QAAI,CAAC,cAAc;AACjB,QAAE,QAAQ;AAAA,QACR,EAAE,QAAQ,KAAK,sCAAsC;AAAA,MACvD;AACA;AAAA,IACF;AACA,YAAQ;AACR,WAAO,MAAM,EAAE,SAAS,IAAI,UAAU,aAAa,MAAM,YAAY;AAAA,EACvE;AACA,QAAM,MAAM,oBAAI,KAAK;AACrB,QAAM,EAAE,UAAU,IAAI,MAAM,EAAE,SAAS,GAAG,qBAAqB,EAAE,QAAQ,KAAK,EAAE;AAChF,QAAM,UAAkC;AAAA,IACtC,KAAK,EAAE,QAAQ,KAAK;AAAA,IACpB,UAAU;AAAA,IACV,aAAa,KAAK;AAAA,IAClB,eAAe,KAAK;AAAA,IACpB,mBAAmB,CAAC;AAAA,IACpB,eAAe;AAAA,IACf,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACA,MAAI,WAAW;AACb,YAAQ,KAAK,UAAU;AAAA,EACzB;AACA,QAAM,EAAE,SAAS,GAAG,mBAAmB,OAAO;AAC9C,IAAE,QAAQ;AAAA,IACR,EAAE,QAAQ,KAAK,kCAAkC;AAAA,MAC/C,MAAM,KAAK;AAAA,MACX,IAAI,KAAK;AAAA,IACX,CAAC;AAAA,EACH;AACF;","names":[]}
|
@@ -33,7 +33,7 @@ const handleBeatLeaderIDBind = (c) => __async(null, null, function* () {
|
|
33
33
|
const text = c.session.text("commands.bsbot.bind.ack-prompt", {
|
34
34
|
user: `${player.name}(${player.id})`
|
35
35
|
}) + (blAccount ? "," + c.session.text("commands.bsbot.bind.exist", {
|
36
|
-
id: blAccount.
|
36
|
+
id: blAccount.platformUid
|
37
37
|
}) : "");
|
38
38
|
yield c.session.sendQuote(text);
|
39
39
|
const prompt = yield c.session.prompt(3e4);
|
@@ -41,16 +41,19 @@ const handleBeatLeaderIDBind = (c) => __async(null, null, function* () {
|
|
41
41
|
throw prompt ? new SessionPromotionCancelError() : new SessionPromotionTimeoutError();
|
42
42
|
}
|
43
43
|
const account = {
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
44
|
+
uid: c.session.user.id,
|
45
|
+
platform: "beatleader",
|
46
|
+
platformUid: player.id.toString(),
|
47
|
+
platformUname: player.name,
|
48
|
+
otherPlatformInfo: {},
|
49
49
|
lastModifiedAt: now,
|
50
50
|
lastRefreshAt: now,
|
51
|
-
|
52
|
-
|
51
|
+
type: "id",
|
52
|
+
status: "ok"
|
53
53
|
};
|
54
|
+
if (blAccount) {
|
55
|
+
account.id = blAccount.id;
|
56
|
+
}
|
54
57
|
yield c.services.db.addUserBindingInfo(account);
|
55
58
|
yield c.session.sendQuote(
|
56
59
|
c.session.text("commands.bsbot.bind.bl.success", {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/bind/bind-id-beatleader.ts"],"sourcesContent":["import { CmdContext,
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/bind/bind-id-beatleader.ts"],"sourcesContent":["import { CmdContext, RelateAccount } from '@/interface'\nimport {\n BLIDNotFoundError,\n SessionPromotionCancelError,\n SessionPromotionTimeoutError,\n} from '@/services/errors'\n\nexport const handleBeatLeaderIDBind = async (c: CmdContext) => {\n const player = await c.services.api.BeatLeader.getPlayerInfo(c.input)\n if (!player) {\n throw new BLIDNotFoundError({ accountId: c.input })\n }\n\n const now = new Date()\n const { blAccount } = await c.services.db.getUserAccountsByUid(c.session.user.id)\n\n const text =\n c.session.text('commands.bsbot.bind.ack-prompt', {\n user: `${player.name}(${player.id})`,\n }) +\n (blAccount\n ? ',' +\n c.session.text('commands.bsbot.bind.exist', {\n id: blAccount.platformUid,\n })\n : '')\n\n await c.session.sendQuote(text)\n\n const prompt = await c.session.prompt(30000)\n if (!prompt || (prompt != 'y' && prompt != 'yes')) {\n throw prompt\n ? new SessionPromotionCancelError()\n : new SessionPromotionTimeoutError()\n }\n // discord bot\n\n // const binds = c.db.getAccountsByPlatformAndUid()\n // const u = c.session.u\n // 如果当前 u为...,已绑定就进行替换\n const account: Partial<RelateAccount> = {\n uid: c.session.user.id,\n platform: 'beatleader',\n platformUid: player.id.toString(),\n platformUname: player.name,\n otherPlatformInfo: {},\n lastModifiedAt: now,\n lastRefreshAt: now,\n type: 'id',\n status: 'ok',\n }\n if (blAccount) {\n account.id = blAccount.id\n }\n await c.services.db.addUserBindingInfo(account)\n await c.session.sendQuote(\n c.session.text('commands.bsbot.bind.bl.success', {\n name: player.name,\n id: player.id,\n })\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEA,MAAM,yBAAyB,CAAO,MAAkB;AAC7D,QAAM,SAAS,MAAM,EAAE,SAAS,IAAI,WAAW,cAAc,EAAE,KAAK;AACpE,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,kBAAkB,EAAE,WAAW,EAAE,MAAM,CAAC;AAAA,EACpD;AAEA,QAAM,MAAM,oBAAI,KAAK;AACrB,QAAM,EAAE,UAAU,IAAI,MAAM,EAAE,SAAS,GAAG,qBAAqB,EAAE,QAAQ,KAAK,EAAE;AAEhF,QAAM,OACJ,EAAE,QAAQ,KAAK,kCAAkC;AAAA,IAC/C,MAAM,GAAG,OAAO,IAAI,IAAI,OAAO,EAAE;AAAA,EACnC,CAAC,KACA,YACG,MACA,EAAE,QAAQ,KAAK,6BAA6B;AAAA,IAC1C,IAAI,UAAU;AAAA,EAChB,CAAC,IACD;AAEN,QAAM,EAAE,QAAQ,UAAU,IAAI;AAE9B,QAAM,SAAS,MAAM,EAAE,QAAQ,OAAO,GAAK;AAC3C,MAAI,CAAC,UAAW,UAAU,OAAO,UAAU,OAAQ;AACjD,UAAM,SACF,IAAI,4BAA4B,IAChC,IAAI,6BAA6B;AAAA,EACvC;AAMA,QAAM,UAAkC;AAAA,IACtC,KAAK,EAAE,QAAQ,KAAK;AAAA,IACpB,UAAU;AAAA,IACV,aAAa,OAAO,GAAG,SAAS;AAAA,IAChC,eAAe,OAAO;AAAA,IACtB,mBAAmB,CAAC;AAAA,IACpB,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACA,MAAI,WAAW;AACb,YAAQ,KAAK,UAAU;AAAA,EACzB;AACA,QAAM,EAAE,SAAS,GAAG,mBAAmB,OAAO;AAC9C,QAAM,EAAE,QAAQ;AAAA,IACd,EAAE,QAAQ,KAAK,kCAAkC;AAAA,MAC/C,MAAM,OAAO;AAAA,MACb,IAAI,OAAO;AAAA,IACb,CAAC;AAAA,EACH;AACF;","names":[]}
|
@@ -33,7 +33,7 @@ const handleBeatSaverIDBind = (c) => __async(null, null, function* () {
|
|
33
33
|
const text = c.session.text("commands.bsbot.bind.ack-prompt", {
|
34
34
|
user: `${mapper.name}(${mapper.id})`
|
35
35
|
}) + (bsAccount ? "," + c.session.text("commands.bsbot.bind.exist", {
|
36
|
-
id: bsAccount.
|
36
|
+
id: bsAccount.platformUid
|
37
37
|
}) : "");
|
38
38
|
yield c.session.sendQuote(text);
|
39
39
|
const prompt = yield c.session.prompt(3e4);
|
@@ -41,15 +41,19 @@ const handleBeatSaverIDBind = (c) => __async(null, null, function* () {
|
|
41
41
|
throw prompt ? new SessionPromotionCancelError() : new SessionPromotionTimeoutError();
|
42
42
|
}
|
43
43
|
const account = {
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
44
|
+
uid: c.session.user.id,
|
45
|
+
platform: "beatsaver",
|
46
|
+
platformUid: mapper.id.toString(),
|
47
|
+
platformUname: mapper.name,
|
48
|
+
otherPlatformInfo: {},
|
49
49
|
lastModifiedAt: now,
|
50
50
|
lastRefreshAt: now,
|
51
|
-
type: "id"
|
51
|
+
type: "id",
|
52
|
+
status: "ok"
|
52
53
|
};
|
54
|
+
if (bsAccount) {
|
55
|
+
account.id = bsAccount.id;
|
56
|
+
}
|
53
57
|
yield c.services.db.addUserBindingInfo(account);
|
54
58
|
c.session.sendQuote(
|
55
59
|
c.session.text("commands.bsbot.bind.bs.success", {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/bind/bind-id-beatsaver.ts"],"sourcesContent":["import { CmdContext,
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/bind/bind-id-beatsaver.ts"],"sourcesContent":["import { CmdContext, RelateAccount } from '@/interface'\n\nimport {\n BSIDNotFoundError,\n SessionPromotionCancelError,\n SessionPromotionTimeoutError,\n} from '@/services/errors'\n\nexport const handleBeatSaverIDBind = async (c: CmdContext) => {\n const mapper = await c.services.api.BeatSaver.getBSMapperById(c.input)\n if (!mapper) {\n throw new BSIDNotFoundError({ accountId: c.input })\n }\n // 如果当前bind 是 oauth?改为 id?\n const now = new Date()\n const { bsAccount } = await c.services.db.getUserAccountsByUid(c.session.user.id)\n\n const text =\n c.session.text('commands.bsbot.bind.ack-prompt', {\n user: `${mapper.name}(${mapper.id})`,\n }) +\n (bsAccount\n ? ',' +\n c.session.text('commands.bsbot.bind.exist', {\n id: bsAccount.platformUid,\n })\n : '')\n\n await c.session.sendQuote(text)\n\n const prompt = await c.session.prompt(30000)\n if (!prompt || (prompt != 'y' && prompt != 'yes')) {\n throw prompt\n ? new SessionPromotionCancelError()\n : new SessionPromotionTimeoutError()\n }\n const account: Partial<RelateAccount> = {\n uid: c.session.user.id,\n platform: 'beatsaver',\n platformUid: mapper.id.toString(),\n platformUname: mapper.name,\n otherPlatformInfo: {},\n lastModifiedAt: now,\n lastRefreshAt: now,\n type: 'id',\n status: 'ok',\n }\n if (bsAccount) {\n account.id = bsAccount.id\n }\n await c.services.db.addUserBindingInfo(account)\n c.session.sendQuote(\n c.session.text('commands.bsbot.bind.bs.success', {\n name: mapper.name,\n id: mapper.id,\n })\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEA,MAAM,wBAAwB,CAAO,MAAkB;AAC5D,QAAM,SAAS,MAAM,EAAE,SAAS,IAAI,UAAU,gBAAgB,EAAE,KAAK;AACrE,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,kBAAkB,EAAE,WAAW,EAAE,MAAM,CAAC;AAAA,EACpD;AAEA,QAAM,MAAM,oBAAI,KAAK;AACrB,QAAM,EAAE,UAAU,IAAI,MAAM,EAAE,SAAS,GAAG,qBAAqB,EAAE,QAAQ,KAAK,EAAE;AAEhF,QAAM,OACJ,EAAE,QAAQ,KAAK,kCAAkC;AAAA,IAC/C,MAAM,GAAG,OAAO,IAAI,IAAI,OAAO,EAAE;AAAA,EACnC,CAAC,KACA,YACG,MACA,EAAE,QAAQ,KAAK,6BAA6B;AAAA,IAC1C,IAAI,UAAU;AAAA,EAChB,CAAC,IACD;AAEN,QAAM,EAAE,QAAQ,UAAU,IAAI;AAE9B,QAAM,SAAS,MAAM,EAAE,QAAQ,OAAO,GAAK;AAC3C,MAAI,CAAC,UAAW,UAAU,OAAO,UAAU,OAAQ;AACjD,UAAM,SACF,IAAI,4BAA4B,IAChC,IAAI,6BAA6B;AAAA,EACvC;AACA,QAAM,UAAkC;AAAA,IACtC,KAAK,EAAE,QAAQ,KAAK;AAAA,IACpB,UAAU;AAAA,IACV,aAAa,OAAO,GAAG,SAAS;AAAA,IAChC,eAAe,OAAO;AAAA,IACtB,mBAAmB,CAAC;AAAA,IACpB,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACA,MAAI,WAAW;AACb,YAAQ,KAAK,UAAU;AAAA,EACzB;AACA,QAAM,EAAE,SAAS,GAAG,mBAAmB,OAAO;AAC9C,IAAE,QAAQ;AAAA,IACR,EAAE,QAAQ,KAAK,kCAAkC;AAAA,MAC/C,MAAM,OAAO;AAAA,MACb,IAAI,OAAO;AAAA,IACb,CAAC;AAAA,EACH;AACF;","names":[]}
|
@@ -28,10 +28,12 @@ const handleScoreSaberBind = (c) => __async(null, null, function* () {
|
|
28
28
|
if (!scoreSaberUser) {
|
29
29
|
throw new SSIDNotFoundError({ accountId: c.input });
|
30
30
|
}
|
31
|
-
const { ssAccount } = yield c.services.db.getUserAccountsByUid(
|
31
|
+
const { ssAccount, blAccount } = yield c.services.db.getUserAccountsByUid(
|
32
|
+
c.session.user.id
|
33
|
+
);
|
32
34
|
const text = c.session.text("commands.bsbot.bind.ack-prompt", {
|
33
35
|
user: `${scoreSaberUser.name}(${scoreSaberUser.id})`
|
34
|
-
}) + (ssAccount ? "," + c.session.text("commands.bsbot.bind.exist", { id: ssAccount.
|
36
|
+
}) + (ssAccount ? "," + c.session.text("commands.bsbot.bind.exist", { id: ssAccount.platformUid }) : "");
|
35
37
|
yield c.session.sendQuote(text);
|
36
38
|
const prompt = yield c.session.prompt(3e4);
|
37
39
|
if (!prompt || prompt != "y" && prompt != "yes") {
|
@@ -39,17 +41,20 @@ const handleScoreSaberBind = (c) => __async(null, null, function* () {
|
|
39
41
|
}
|
40
42
|
const now = /* @__PURE__ */ new Date();
|
41
43
|
const account = {
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
providerUsername: scoreSaberUser.name,
|
44
|
+
uid: c.session.user.id,
|
45
|
+
platform: "scoresaber",
|
46
|
+
platformUid: scoreSaberUser.id,
|
46
47
|
lastModifiedAt: now,
|
47
48
|
lastRefreshAt: now,
|
48
|
-
|
49
|
-
type: "id"
|
49
|
+
platformUname: scoreSaberUser.name,
|
50
|
+
type: "id",
|
51
|
+
status: "ok"
|
50
52
|
};
|
53
|
+
if (ssAccount) {
|
54
|
+
account.id = ssAccount.id;
|
55
|
+
}
|
51
56
|
yield c.services.db.addUserBindingInfo(account);
|
52
|
-
|
57
|
+
c.session.sendQuote(
|
53
58
|
c.session.text("commands.bsbot.bind.success", {
|
54
59
|
user: `${scoreSaberUser.name}(${scoreSaberUser.id})`
|
55
60
|
})
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/bind/bind-scoresaber.ts"],"sourcesContent":["import {
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/bind/bind-scoresaber.ts"],"sourcesContent":["import {RelateAccount, CmdContext} from '@/interface'\nimport {\n SessionPromotionCancelError,\n SessionPromotionTimeoutError,\n SSIDNotFoundError,\n} from '@/services/errors'\n\nexport const handleScoreSaberBind = async (c: CmdContext) => {\n const scoreSaberUser = await c.services.api.ScoreSaber.getScoreUserById(c.input)\n if (!scoreSaberUser) {\n throw new SSIDNotFoundError({accountId: c.input})\n }\n const {ssAccount, blAccount} = await c.services.db.getUserAccountsByUid(\n c.session.user.id\n )\n const text =\n c.session.text('commands.bsbot.bind.ack-prompt', {\n user: `${scoreSaberUser.name}(${scoreSaberUser.id})`,\n }) +\n (ssAccount ? ',' + c.session.text('commands.bsbot.bind.exist', {id: ssAccount.platformUid,}) : '')\n\n await c.session.sendQuote(text)\n\n const prompt = await c.session.prompt(30000)\n if (!prompt || (prompt != 'y' && prompt != 'yes')) {\n throw prompt\n ? new SessionPromotionCancelError()\n : new SessionPromotionTimeoutError()\n }\n const now = new Date()\n const account: Partial<RelateAccount> = {\n uid: c.session.user.id,\n platform: 'scoresaber',\n platformUid: scoreSaberUser.id,\n lastModifiedAt: now,\n lastRefreshAt: now,\n platformUname: scoreSaberUser.name,\n type: 'id',\n status: 'ok',\n }\n if (ssAccount) {\n account.id = ssAccount.id\n }\n await c.services.db.addUserBindingInfo(account)\n c.session.sendQuote(\n c.session.text('commands.bsbot.bind.success', {\n user: `${scoreSaberUser.name}(${scoreSaberUser.id})`,\n })\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEA,MAAM,uBAAuB,CAAO,MAAkB;AAC3D,QAAM,iBAAiB,MAAM,EAAE,SAAS,IAAI,WAAW,iBAAiB,EAAE,KAAK;AAC/E,MAAI,CAAC,gBAAgB;AACnB,UAAM,IAAI,kBAAkB,EAAC,WAAW,EAAE,MAAK,CAAC;AAAA,EAClD;AACA,QAAM,EAAC,WAAW,UAAS,IAAI,MAAM,EAAE,SAAS,GAAG;AAAA,IACjD,EAAE,QAAQ,KAAK;AAAA,EACjB;AACA,QAAM,OACJ,EAAE,QAAQ,KAAK,kCAAkC;AAAA,IAC/C,MAAM,GAAG,eAAe,IAAI,IAAI,eAAe,EAAE;AAAA,EACnD,CAAC,KACA,YAAY,MAAM,EAAE,QAAQ,KAAK,6BAA6B,EAAC,IAAI,UAAU,YAAY,CAAC,IAAI;AAEjG,QAAM,EAAE,QAAQ,UAAU,IAAI;AAE9B,QAAM,SAAS,MAAM,EAAE,QAAQ,OAAO,GAAK;AAC3C,MAAI,CAAC,UAAW,UAAU,OAAO,UAAU,OAAQ;AACjD,UAAM,SACF,IAAI,4BAA4B,IAChC,IAAI,6BAA6B;AAAA,EACvC;AACA,QAAM,MAAM,oBAAI,KAAK;AACrB,QAAM,UAAkC;AAAA,IACtC,KAAK,EAAE,QAAQ,KAAK;AAAA,IACpB,UAAU;AAAA,IACV,aAAa,eAAe;AAAA,IAC5B,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,eAAe,eAAe;AAAA,IAC9B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACA,MAAI,WAAW;AACb,YAAQ,KAAK,UAAU;AAAA,EACzB;AACA,QAAM,EAAE,SAAS,GAAG,mBAAmB,OAAO;AAC9C,IAAE,QAAQ;AAAA,IACR,EAAE,QAAQ,KAAK,+BAA+B;AAAA,MAC5C,MAAM,GAAG,eAAe,IAAI,IAAI,eAAe,EAAE;AAAA,IACnD,CAAC;AAAA,EACH;AACF;","names":[]}
|
package/dist/esm/cmd/rank.js
CHANGED
@@ -21,17 +21,17 @@ var __async = (__this, __arguments, generator) => {
|
|
21
21
|
import { CommandBuilder } from "../interface/index.js";
|
22
22
|
import { parsePlatform, Platform } from "../utils/index.js";
|
23
23
|
import { UnknownUserIDError } from "../services/errors/index.js";
|
24
|
-
var rank_default = () => new CommandBuilder().setName("rank").addOption("p", "platform:string").setExecutor((c) => __async(null, null, function* () {
|
24
|
+
var rank_default = () => new CommandBuilder().setName("rank").addOption("p", "platform:string").setDescription("clear an auth account relate info").setExecutor((c) => __async(null, null, function* () {
|
25
25
|
let uid = c.session.user.id;
|
26
26
|
if (c.session.mentions && c.session.mentions.length > 0) {
|
27
27
|
uid = c.session.mentions[0].id;
|
28
28
|
}
|
29
29
|
const { blAccount, ssAccount } = yield c.services.db.getUserAccountsByUid(uid);
|
30
|
-
let accountId = Platform.BL && (blAccount == null ? void 0 : blAccount.
|
30
|
+
let accountId = Platform.BL && (blAccount == null ? void 0 : blAccount.platformUid);
|
31
31
|
if (c.input) {
|
32
32
|
accountId = c.input;
|
33
33
|
} else if (!accountId) {
|
34
|
-
accountId = Platform.SS && (ssAccount == null ? void 0 : ssAccount.
|
34
|
+
accountId = Platform.SS && (ssAccount == null ? void 0 : ssAccount.platformUid);
|
35
35
|
}
|
36
36
|
if (!accountId && !c.input) {
|
37
37
|
throw new UnknownUserIDError();
|
package/dist/esm/cmd/rank.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/cmd/rank.ts"],"sourcesContent":["import {CommandBuilder} from \"@/interface\";\nimport { parsePlatform, Platform } from '@/utils'\nimport {UnknownUserIDError} from \"@/services/errors\";\n\nexport default () =>\n new CommandBuilder()\n .setName('rank')\n .addOption('p', 'platform:string')\n .setExecutor(async (c) => {\n let uid = c.session.user.id\n if (c.session.mentions && c.session.mentions.length > 0) {\n uid = c.session.mentions[0].id\n }\n const { blAccount, ssAccount } = await c.services.db.getUserAccountsByUid(uid)\n let accountId = Platform.BL && blAccount?.
|
1
|
+
{"version":3,"sources":["../../../src/cmd/rank.ts"],"sourcesContent":["import {CommandBuilder} from \"@/interface\";\nimport { parsePlatform, Platform } from '@/utils'\nimport {UnknownUserIDError} from \"@/services/errors\";\n\nexport default () =>\n new CommandBuilder()\n .setName('rank')\n .addOption('p', 'platform:string')\n .setDescription('clear an auth account relate info')\n .setExecutor(async (c) => {\n let uid = c.session.user.id\n if (c.session.mentions && c.session.mentions.length > 0) {\n uid = c.session.mentions[0].id\n }\n const { blAccount, ssAccount } = await c.services.db.getUserAccountsByUid(uid)\n let accountId = Platform.BL && blAccount?.platformUid\n\n if (c.input) {\n accountId = c.input\n // preference = undefined\n } else if (!accountId) {\n accountId = Platform.SS && ssAccount?.platformUid\n }\n\n if (!accountId && !c.input) {\n throw new UnknownUserIDError()\n }\n const rankPlatform = parsePlatform(c.options.p)\n const img = await c.services.render.renderRank(accountId, rankPlatform)\n await c.session.sendImgBuffer(img)\n })\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAQ,sBAAqB;AAC7B,SAAS,eAAe,gBAAgB;AACxC,SAAQ,0BAAyB;AAEjC,IAAO,eAAQ,MACb,IAAI,eAAe,EAChB,QAAQ,MAAM,EACd,UAAU,KAAK,iBAAiB,EAChC,eAAe,mCAAmC,EAClD,YAAY,CAAO,MAAM;AACxB,MAAI,MAAM,EAAE,QAAQ,KAAK;AACzB,MAAI,EAAE,QAAQ,YAAY,EAAE,QAAQ,SAAS,SAAS,GAAG;AACvD,UAAM,EAAE,QAAQ,SAAS,CAAC,EAAE;AAAA,EAC9B;AACA,QAAM,EAAE,WAAW,UAAU,IAAI,MAAM,EAAE,SAAS,GAAG,qBAAqB,GAAG;AAC7E,MAAI,YAAY,SAAS,OAAM,uCAAW;AAE1C,MAAI,EAAE,OAAO;AACX,gBAAY,EAAE;AAAA,EAEhB,WAAW,CAAC,WAAW;AACrB,gBAAY,SAAS,OAAM,uCAAW;AAAA,EACxC;AAEA,MAAI,CAAC,aAAa,CAAC,EAAE,OAAO;AAC1B,UAAM,IAAI,mBAAmB;AAAA,EAC/B;AACA,QAAM,eAAe,cAAc,EAAE,QAAQ,CAAC;AAC9C,QAAM,MAAM,MAAM,EAAE,SAAS,OAAO,WAAW,WAAW,YAAY;AACtE,QAAM,EAAE,QAAQ,cAAc,GAAG;AACnC,EAAC;","names":[]}
|
package/dist/esm/cmd/score.js
CHANGED
@@ -45,13 +45,13 @@ var score_default = () => new CommandBuilder().setName("score").addOption("d", "
|
|
45
45
|
}
|
46
46
|
const mapId = c.input;
|
47
47
|
const score = yield c.services.api.getScoreByPlayerIdAndMapId(
|
48
|
-
account.
|
48
|
+
account.platformUid,
|
49
49
|
mapId,
|
50
50
|
diffOption
|
51
51
|
);
|
52
52
|
if (!score) {
|
53
53
|
throw new ScoreNotFoundError({
|
54
|
-
user: account.
|
54
|
+
user: account.platformUname,
|
55
55
|
id: mapId,
|
56
56
|
diff: diffOption == null ? void 0 : diffOption.difficulty,
|
57
57
|
mode: c.options.m
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/cmd/score.ts"],"sourcesContent":["import { CommandBuilder } from \"@/interface\";\nimport { Platform, convertDiff } from '@/utils'\nimport {\n AccountBindingNotFoundError,\n ScoreNotFoundError,\n} from '@/services/errors'\nexport default () =>\n new CommandBuilder()\n .setName('score')\n .addOption('d', 'difficulty:string')\n .addOption('m', 'mode:string')\n .addAlias('bbscore')\n .addAlias('/score')\n .setExecutor(async (c) => {\n let uid = c.session.user.id\n // let preference = c.userPreference\n if (c.session.mentions && c.session.mentions.length > 0) {\n uid = c.session.mentions[0].id\n // preference = await c.userPreference.getUserPreference(uid)\n }\n\n const { blAccount, ssAccount } = await c.services.db.getUserAccountsByUid(uid)\n let account = Platform.BL && blAccount\n account ||= Platform.SS && ssAccount\n if (!account) {\n throw new AccountBindingNotFoundError()\n }\n\n let diffOption\n if (c.options.d || c.options.m) {\n diffOption = {\n difficulty: convertDiff(c.options.d),\n mode: c.options.m,\n }\n }\n const mapId = c.input\n const score = await c.services.api.getScoreByPlayerIdAndMapId(\n account.
|
1
|
+
{"version":3,"sources":["../../../src/cmd/score.ts"],"sourcesContent":["import { CommandBuilder } from \"@/interface\";\nimport { Platform, convertDiff } from '@/utils'\nimport {\n AccountBindingNotFoundError,\n ScoreNotFoundError,\n} from '@/services/errors'\nexport default () =>\n new CommandBuilder()\n .setName('score')\n .addOption('d', 'difficulty:string')\n .addOption('m', 'mode:string')\n .addAlias('bbscore')\n .addAlias('/score')\n .setExecutor(async (c) => {\n let uid = c.session.user.id\n // let preference = c.userPreference\n if (c.session.mentions && c.session.mentions.length > 0) {\n uid = c.session.mentions[0].id\n // preference = await c.userPreference.getUserPreference(uid)\n }\n\n const { blAccount, ssAccount } = await c.services.db.getUserAccountsByUid(uid)\n let account = Platform.BL && blAccount\n account ||= Platform.SS && ssAccount\n if (!account) {\n throw new AccountBindingNotFoundError()\n }\n\n let diffOption\n if (c.options.d || c.options.m) {\n diffOption = {\n difficulty: convertDiff(c.options.d),\n mode: c.options.m,\n }\n }\n const mapId = c.input\n const score = await c.services.api.getScoreByPlayerIdAndMapId(\n account.platformUid,\n mapId,\n diffOption\n )\n if(!score) {\n throw new ScoreNotFoundError({\n user: account.platformUname, id: mapId,\n diff: diffOption?.difficulty, mode: c.options.m,\n })\n }\n const img = await c.services.render.renderScore(score.id?.toString())\n await c.session.sendImgBuffer(img)\n })\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAS,sBAAsB;AAC/B,SAAS,UAAU,mBAAmB;AACtC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,IAAO,gBAAQ,MACb,IAAI,eAAe,EAChB,QAAQ,OAAO,EACf,UAAU,KAAK,mBAAmB,EAClC,UAAU,KAAK,aAAa,EAC5B,SAAS,SAAS,EAClB,SAAS,QAAQ,EACjB,YAAY,CAAO,MAAM;AAb9B;AAcM,MAAI,MAAM,EAAE,QAAQ,KAAK;AAEzB,MAAI,EAAE,QAAQ,YAAY,EAAE,QAAQ,SAAS,SAAS,GAAG;AACvD,UAAM,EAAE,QAAQ,SAAS,CAAC,EAAE;AAAA,EAE9B;AAEA,QAAM,EAAE,WAAW,UAAU,IAAI,MAAM,EAAE,SAAS,GAAG,qBAAqB,GAAG;AAC7E,MAAI,UAAU,SAAS,MAAM;AAC7B,wBAAY,SAAS,MAAM;AAC3B,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,4BAA4B;AAAA,EACxC;AAEA,MAAI;AACJ,MAAI,EAAE,QAAQ,KAAK,EAAE,QAAQ,GAAG;AAC9B,iBAAa;AAAA,MACX,YAAY,YAAY,EAAE,QAAQ,CAAC;AAAA,MACnC,MAAM,EAAE,QAAQ;AAAA,IAClB;AAAA,EACF;AACA,QAAM,QAAQ,EAAE;AAChB,QAAM,QAAQ,MAAM,EAAE,SAAS,IAAI;AAAA,IACjC,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,EACF;AACA,MAAG,CAAC,OAAO;AACT,UAAM,IAAI,mBAAmB;AAAA,MAC3B,MAAM,QAAQ;AAAA,MAAe,IAAI;AAAA,MACjC,MAAM,yCAAY;AAAA,MAAY,MAAM,EAAE,QAAQ;AAAA,IAChD,CAAC;AAAA,EACH;AACA,QAAM,MAAM,MAAM,EAAE,SAAS,OAAO,aAAY,WAAM,OAAN,mBAAU,UAAU;AACpE,QAAM,EAAE,QAAQ,cAAc,GAAG;AACnC,EAAC;","names":[]}
|
@@ -41,7 +41,7 @@ import { SubscriptionExistError } from "../../services/errors/index.js";
|
|
41
41
|
const beatleader = (c) => __async(null, null, function* () {
|
42
42
|
const { blSub } = yield c.services.db.getSubscriptionsByGID(c.session.channel.id);
|
43
43
|
if (blSub) {
|
44
|
-
if (blSub.
|
44
|
+
if (blSub.enable) {
|
45
45
|
throw new SubscriptionExistError();
|
46
46
|
}
|
47
47
|
const data2 = __spreadProps(__spreadValues({}, blSub), { enable: true });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/subscribe/beatleader.ts"],"sourcesContent":["import { CmdContext } from '@/interface'\nimport { SubscriptionExistError } from '@/services/errors'\n\nexport const beatleader = async (c: CmdContext) => {\n const { blSub } = await c.services.db.getSubscriptionsByGID(c.session.channel.id)\n if (blSub) {\n if (blSub.
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/subscribe/beatleader.ts"],"sourcesContent":["import { CmdContext } from '@/interface'\nimport { SubscriptionExistError } from '@/services/errors'\n\nexport const beatleader = async (c: CmdContext) => {\n const { blSub } = await c.services.db.getSubscriptionsByGID(c.session.channel.id)\n if (blSub) {\n if (blSub.enable) {\n throw new SubscriptionExistError()\n }\n const data = { ...blSub, enable: true }\n await c.services.db.upsertSubscription(data)\n await c.session.sendQuote(\n c.session.text('commands.bsbot.subscribe.beatleader.success')\n )\n return\n }\n\n const data = {\n gid: c.session.channel.id,\n type: 'beatleader-score',\n time: new Date(),\n enable: true,\n data: {},\n }\n await c.services.db.upsertSubscription(data)\n await c.session.sendQuote(\n c.session.text('commands.bsbot.subscribe.beatleader.success')\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,8BAA8B;AAEhC,MAAM,aAAa,CAAO,MAAkB;AACjD,QAAM,EAAE,MAAM,IAAI,MAAM,EAAE,SAAS,GAAG,sBAAsB,EAAE,QAAQ,QAAQ,EAAE;AAChF,MAAI,OAAO;AACT,QAAI,MAAM,QAAQ;AAChB,YAAM,IAAI,uBAAuB;AAAA,IACnC;AACA,UAAMA,QAAO,iCAAK,QAAL,EAAY,QAAQ,KAAK;AACtC,UAAM,EAAE,SAAS,GAAG,mBAAmBA,KAAI;AAC3C,UAAM,EAAE,QAAQ;AAAA,MACd,EAAE,QAAQ,KAAK,6CAA6C;AAAA,IAC9D;AACA;AAAA,EACF;AAEA,QAAM,OAAO;AAAA,IACX,KAAK,EAAE,QAAQ,QAAQ;AAAA,IACvB,MAAM;AAAA,IACN,MAAM,oBAAI,KAAK;AAAA,IACf,QAAQ;AAAA,IACR,MAAM,CAAC;AAAA,EACT;AACA,QAAM,EAAE,SAAS,GAAG,mBAAmB,IAAI;AAC3C,QAAM,EAAE,QAAQ;AAAA,IACd,EAAE,QAAQ,KAAK,6CAA6C;AAAA,EAC9D;AACF;","names":["data"]}
|
@@ -41,7 +41,7 @@ import { SubscriptionExistError } from "../../services/errors/index.js";
|
|
41
41
|
const beatsaver = (c) => __async(null, null, function* () {
|
42
42
|
const { bsMapSub } = yield c.services.db.getSubscriptionsByGID(c.session.channel.id);
|
43
43
|
if (bsMapSub) {
|
44
|
-
if (bsMapSub.
|
44
|
+
if (bsMapSub.enable) {
|
45
45
|
throw new SubscriptionExistError();
|
46
46
|
}
|
47
47
|
const data2 = __spreadProps(__spreadValues({}, bsMapSub), { enable: true });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/subscribe/beatsaver.ts"],"sourcesContent":["import { CmdContext } from '@/interface'\nimport { SubscriptionExistError } from '@/services/errors'\nexport const beatsaver = async (c: CmdContext) => {\n const { bsMapSub } = await c.services.db.getSubscriptionsByGID(c.session.channel.id)\n if (bsMapSub) {\n if (bsMapSub.
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/subscribe/beatsaver.ts"],"sourcesContent":["import { CmdContext } from '@/interface'\nimport { SubscriptionExistError } from '@/services/errors'\nexport const beatsaver = async (c: CmdContext) => {\n const { bsMapSub } = await c.services.db.getSubscriptionsByGID(c.session.channel.id)\n if (bsMapSub) {\n if (bsMapSub.enable) {\n throw new SubscriptionExistError()\n }\n const data = { ...bsMapSub, enable: true }\n await c.services.db.upsertSubscription(data)\n await c.session.sendQuote(\n c.session.text('commands.bsbot.subscribe.beatsaver.success')\n )\n return\n }\n const data = {\n gid: c.session.channel.id,\n type: 'beatsaver-map',\n time: new Date(),\n enable: true,\n data: {},\n }\n await c.services.db.upsertSubscription(data)\n await c.session.sendQuote(\n c.session.text('commands.bsbot.subscribe.beatsaver.success')\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,8BAA8B;AAChC,MAAM,YAAY,CAAO,MAAkB;AAChD,QAAM,EAAE,SAAS,IAAI,MAAM,EAAE,SAAS,GAAG,sBAAsB,EAAE,QAAQ,QAAQ,EAAE;AACnF,MAAI,UAAU;AACZ,QAAI,SAAS,QAAQ;AACnB,YAAM,IAAI,uBAAuB;AAAA,IACnC;AACA,UAAMA,QAAO,iCAAK,WAAL,EAAe,QAAQ,KAAK;AACzC,UAAM,EAAE,SAAS,GAAG,mBAAmBA,KAAI;AAC3C,UAAM,EAAE,QAAQ;AAAA,MACd,EAAE,QAAQ,KAAK,4CAA4C;AAAA,IAC7D;AACA;AAAA,EACF;AACA,QAAM,OAAO;AAAA,IACX,KAAK,EAAE,QAAQ,QAAQ;AAAA,IACvB,MAAM;AAAA,IACN,MAAM,oBAAI,KAAK;AAAA,IACf,QAAQ;AAAA,IACR,MAAM,CAAC;AAAA,EACT;AACA,QAAM,EAAE,SAAS,GAAG,mBAAmB,IAAI;AAC3C,QAAM,EAAE,QAAQ;AAAA,IACd,EAAE,QAAQ,KAAK,4CAA4C;AAAA,EAC7D;AACF;","names":["data"]}
|
@@ -55,7 +55,7 @@ const idBeatleaderScore = (c) => __async(null, null, function* () {
|
|
55
55
|
return ((_a = it2.data) == null ? void 0 : _a.playerId) === bluser.id;
|
56
56
|
});
|
57
57
|
if (it) {
|
58
|
-
if (it.
|
58
|
+
if (it.enable) {
|
59
59
|
throw new SubscriptionExistError();
|
60
60
|
}
|
61
61
|
const data2 = __spreadProps(__spreadValues({}, it), { enable: true });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/subscribe/id-beatleader-score.ts"],"sourcesContent":["import { CmdContext } from '@/interface'\nimport { BLIDNotFoundError, SubscriptionExistError } from '@/services/errors'\n\nexport const idBeatleaderScore = async (c: CmdContext) => {\n if (!c.input) {\n return\n }\n const bluser = await c.services.api.BeatLeader.getPlayerInfo(c.input)\n if (!bluser) {\n throw new BLIDNotFoundError({ accountId: c.input })\n }\n\n const subscribes = await c.services.db.getIDSubscriptionByChannelIDAndType(\n c.session.channel.id,\n 'id-beatleader-score'\n )\n const it = subscribes.find((it) => it.data?.playerId === bluser.id)\n if (it) {\n if (it.
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/subscribe/id-beatleader-score.ts"],"sourcesContent":["import { CmdContext } from '@/interface'\nimport { BLIDNotFoundError, SubscriptionExistError } from '@/services/errors'\n\nexport const idBeatleaderScore = async (c: CmdContext) => {\n if (!c.input) {\n return\n }\n const bluser = await c.services.api.BeatLeader.getPlayerInfo(c.input)\n if (!bluser) {\n throw new BLIDNotFoundError({ accountId: c.input })\n }\n\n const subscribes = await c.services.db.getIDSubscriptionByChannelIDAndType(\n c.session.channel.id,\n 'id-beatleader-score'\n )\n const it = subscribes.find((it) => it.data?.playerId === bluser.id)\n if (it) {\n if (it.enable) {\n throw new SubscriptionExistError()\n }\n\n const data = { ...it, enable: true }\n await c.services.db.upsertSubscription(data)\n await c.session.sendQuote(\n c.session.text('commands.bsbot.subscribe.beatsaver-mapper.success', {\n name: bluser.name,\n })\n )\n return\n }\n const data = {\n gid: c.session.channel.id,\n type: 'id-beatsaver-map',\n time: new Date(),\n enable: true,\n data: {\n playerId: bluser.id,\n },\n }\n await c.services.db.upsertSubscription(data)\n await c.session.sendQuote(\n c.session.text('commands.bsbot.subscribe.beatsaver-mapper.success', {\n name: bluser.name,\n })\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,mBAAmB,8BAA8B;AAEnD,MAAM,oBAAoB,CAAO,MAAkB;AACxD,MAAI,CAAC,EAAE,OAAO;AACZ;AAAA,EACF;AACA,QAAM,SAAS,MAAM,EAAE,SAAS,IAAI,WAAW,cAAc,EAAE,KAAK;AACpE,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,kBAAkB,EAAE,WAAW,EAAE,MAAM,CAAC;AAAA,EACpD;AAEA,QAAM,aAAa,MAAM,EAAE,SAAS,GAAG;AAAA,IACrC,EAAE,QAAQ,QAAQ;AAAA,IAClB;AAAA,EACF;AACA,QAAM,KAAK,WAAW,KAAK,CAACA,QAAI;AAhBlC;AAgBqC,kBAAAA,IAAG,SAAH,mBAAS,cAAa,OAAO;AAAA,GAAE;AAClE,MAAI,IAAI;AACN,QAAI,GAAG,QAAQ;AACb,YAAM,IAAI,uBAAuB;AAAA,IACnC;AAEA,UAAMC,QAAO,iCAAK,KAAL,EAAS,QAAQ,KAAK;AACnC,UAAM,EAAE,SAAS,GAAG,mBAAmBA,KAAI;AAC3C,UAAM,EAAE,QAAQ;AAAA,MACd,EAAE,QAAQ,KAAK,qDAAqD;AAAA,QAClE,MAAM,OAAO;AAAA,MACf,CAAC;AAAA,IACH;AACA;AAAA,EACF;AACA,QAAM,OAAO;AAAA,IACX,KAAK,EAAE,QAAQ,QAAQ;AAAA,IACvB,MAAM;AAAA,IACN,MAAM,oBAAI,KAAK;AAAA,IACf,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,UAAU,OAAO;AAAA,IACnB;AAAA,EACF;AACA,QAAM,EAAE,SAAS,GAAG,mBAAmB,IAAI;AAC3C,QAAM,EAAE,QAAQ;AAAA,IACd,EAAE,QAAQ,KAAK,qDAAqD;AAAA,MAClE,MAAM,OAAO;AAAA,IACf,CAAC;AAAA,EACH;AACF;","names":["it","data"]}
|
@@ -55,7 +55,7 @@ const idBeatsaverMapper = (c) => __async(null, null, function* () {
|
|
55
55
|
return ((_a = it2.data) == null ? void 0 : _a.mapperId) === mapper.id;
|
56
56
|
});
|
57
57
|
if (it) {
|
58
|
-
if (it.
|
58
|
+
if (it.enable) {
|
59
59
|
throw new SubscriptionExistError();
|
60
60
|
}
|
61
61
|
const data2 = __spreadProps(__spreadValues({}, it), { enable: true });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/subscribe/id-beatsaver-mapper.ts"],"sourcesContent":["import { CmdContext } from '@/interface'\nimport { BSIDNotFoundError, SubscriptionExistError } from '@/services/errors'\nexport const idBeatsaverMapper = async (c: CmdContext) => {\n if (!c.input) {\n return\n }\n const mapper = await c.services.api.BeatSaver.getBSMapperById(c.input)\n if (!mapper) {\n throw new BSIDNotFoundError({ accountId: c.input })\n }\n const subscribes = await c.services.db.getIDSubscriptionByChannelIDAndType(\n c.session.channel.id,\n 'id-beatsaver-map'\n )\n const it = subscribes.find((it) => it.data?.mapperId === mapper.id)\n if (it) {\n if (it.
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/subscribe/id-beatsaver-mapper.ts"],"sourcesContent":["import { CmdContext } from '@/interface'\nimport { BSIDNotFoundError, SubscriptionExistError } from '@/services/errors'\nexport const idBeatsaverMapper = async (c: CmdContext) => {\n if (!c.input) {\n return\n }\n const mapper = await c.services.api.BeatSaver.getBSMapperById(c.input)\n if (!mapper) {\n throw new BSIDNotFoundError({ accountId: c.input })\n }\n const subscribes = await c.services.db.getIDSubscriptionByChannelIDAndType(\n c.session.channel.id,\n 'id-beatsaver-map'\n )\n const it = subscribes.find((it) => it.data?.mapperId === mapper.id)\n if (it) {\n if (it.enable) {\n throw new SubscriptionExistError()\n }\n\n const data = { ...it, enable: true }\n await c.services.db.upsertSubscription(data)\n await c.session.sendQuote(\n c.session.text('commands.bsbot.subscribe.beatsaver-mapper.success', {\n name: mapper.name,\n })\n )\n return\n }\n const data = {\n gid: c.session.channel.id,\n type: 'id-beatsaver-map',\n time: new Date(),\n enable: true,\n data: {\n mapperId: mapper.id,\n mapperName: mapper.name,\n },\n }\n await c.services.db.upsertSubscription(data)\n await c.session.sendQuote(\n c.session.text('commands.bsbot.subscribe.beatsaver-mapper.success', {\n name: mapper.name,\n })\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,mBAAmB,8BAA8B;AACnD,MAAM,oBAAoB,CAAO,MAAkB;AACxD,MAAI,CAAC,EAAE,OAAO;AACZ;AAAA,EACF;AACA,QAAM,SAAS,MAAM,EAAE,SAAS,IAAI,UAAU,gBAAgB,EAAE,KAAK;AACrE,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,kBAAkB,EAAE,WAAW,EAAE,MAAM,CAAC;AAAA,EACpD;AACA,QAAM,aAAa,MAAM,EAAE,SAAS,GAAG;AAAA,IACrC,EAAE,QAAQ,QAAQ;AAAA,IAClB;AAAA,EACF;AACA,QAAM,KAAK,WAAW,KAAK,CAACA,QAAI;AAdlC;AAcqC,kBAAAA,IAAG,SAAH,mBAAS,cAAa,OAAO;AAAA,GAAE;AAClE,MAAI,IAAI;AACN,QAAI,GAAG,QAAQ;AACb,YAAM,IAAI,uBAAuB;AAAA,IACnC;AAEA,UAAMC,QAAO,iCAAK,KAAL,EAAS,QAAQ,KAAK;AACnC,UAAM,EAAE,SAAS,GAAG,mBAAmBA,KAAI;AAC3C,UAAM,EAAE,QAAQ;AAAA,MACd,EAAE,QAAQ,KAAK,qDAAqD;AAAA,QAClE,MAAM,OAAO;AAAA,MACf,CAAC;AAAA,IACH;AACA;AAAA,EACF;AACA,QAAM,OAAO;AAAA,IACX,KAAK,EAAE,QAAQ,QAAQ;AAAA,IACvB,MAAM;AAAA,IACN,MAAM,oBAAI,KAAK;AAAA,IACf,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,UAAU,OAAO;AAAA,MACjB,YAAY,OAAO;AAAA,IACrB;AAAA,EACF;AACA,QAAM,EAAE,SAAS,GAAG,mBAAmB,IAAI;AAC3C,QAAM,EAAE,QAAQ;AAAA,IACd,EAAE,QAAQ,KAAK,qDAAqD;AAAA,MAClE,MAAM,OAAO;AAAA,IACf,CAAC;AAAA,EACH;AACF;","names":["it","data"]}
|
@@ -41,18 +41,18 @@ var subscribe_default = () => new CommandBuilder().setName("subscribe").addAlias
|
|
41
41
|
}
|
42
42
|
let text = c.session.text("commands.bsbot.subscribe.info.header") + "\n";
|
43
43
|
for (const row of rows) {
|
44
|
-
if (row.
|
44
|
+
if (row.subscribe.type.startsWith("group")) {
|
45
45
|
text += c.session.text(
|
46
46
|
"commands.bsbot.subscribe.info.group-body-item",
|
47
47
|
{
|
48
|
-
type: row.
|
48
|
+
type: row.subscribe.type + `(${(_a = row.subscribe.data) == null ? void 0 : _a.mapperName} ${(_b = row.subscribe.data) == null ? void 0 : _b.mapperId})`
|
49
49
|
}
|
50
50
|
);
|
51
51
|
} else {
|
52
52
|
text += c.session.text("commands.bsbot.subscribe.info.body-item", {
|
53
|
-
type: row.
|
53
|
+
type: row.subscribe.type,
|
54
54
|
cnt: row.memberCount,
|
55
|
-
enable: row.
|
55
|
+
enable: row.subscribe.enable
|
56
56
|
});
|
57
57
|
if (row.me) {
|
58
58
|
text += c.session.text(
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/subscribe/index.ts"],"sourcesContent":["import {CommandBuilder} from \"@/interface\";\nimport { beatleader } from './beatleader'\nimport { beatsaver } from './beatsaver'\nimport { NoneSubscriptionExistError } from '@/services/errors'\nimport { idBeatsaverMapper } from './id-beatsaver-mapper'\n\nexport default () =>\n new CommandBuilder()\n .setName('subscribe')\n .addAlias('bbsub')\n .addAlias('/subbl', { options: { type: 'beatleader' } })\n .addAlias('/subbs', { options: { type: 'beatsaver' } })\n .addAlias('blsub', { options: { type: 'beatleader' } })\n .addAlias('bssub', { options: { type: 'beatsaver' } })\n .addAlias('subbl', { options: { type: 'beatleader' } })\n .addAlias('subbs', { options: { type: 'beatsaver' } })\n .addAlias('subbl', { options: { type: 'beatleader' } })\n .addAlias('submapper', { options: { type: 'bsmapper' } })\n .addOption('type', 'type:string')\n .setDescription('clear an auth account relate info')\n .setExecutor(async (c) => {\n // check admin permission\n // if (options.type === 'beatsaver-alert') {\n // return alert(c)\n // }\n\n if (c.options.type === 'beatsaver') {\n if (c.input) return idBeatsaverMapper(c)\n return beatsaver(c)\n }\n\n if (c.options.type === 'beatleader') {\n return beatleader(c)\n }\n\n // return subscription info\n const rows = await c.services.db.getSubscriptionInfoByUGID(\n c.session.channel.id,\n c.session.user.id\n )\n\n if (rows.length < 1) {\n throw new NoneSubscriptionExistError()\n }\n let text = c.session.text('commands.bsbot.subscribe.info.header') + '\\n'\n for (const row of rows) {\n if (row.
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/subscribe/index.ts"],"sourcesContent":["import {CommandBuilder} from \"@/interface\";\nimport { beatleader } from './beatleader'\nimport { beatsaver } from './beatsaver'\nimport { NoneSubscriptionExistError } from '@/services/errors'\nimport { idBeatsaverMapper } from './id-beatsaver-mapper'\n\nexport default () =>\n new CommandBuilder()\n .setName('subscribe')\n .addAlias('bbsub')\n .addAlias('/subbl', { options: { type: 'beatleader' } })\n .addAlias('/subbs', { options: { type: 'beatsaver' } })\n .addAlias('blsub', { options: { type: 'beatleader' } })\n .addAlias('bssub', { options: { type: 'beatsaver' } })\n .addAlias('subbl', { options: { type: 'beatleader' } })\n .addAlias('subbs', { options: { type: 'beatsaver' } })\n .addAlias('subbl', { options: { type: 'beatleader' } })\n .addAlias('submapper', { options: { type: 'bsmapper' } })\n .addOption('type', 'type:string')\n .setDescription('clear an auth account relate info')\n .setExecutor(async (c) => {\n // check admin permission\n // if (options.type === 'beatsaver-alert') {\n // return alert(c)\n // }\n\n if (c.options.type === 'beatsaver') {\n if (c.input) return idBeatsaverMapper(c)\n return beatsaver(c)\n }\n\n if (c.options.type === 'beatleader') {\n return beatleader(c)\n }\n\n // return subscription info\n const rows = await c.services.db.getSubscriptionInfoByUGID(\n c.session.channel.id,\n c.session.user.id\n )\n\n if (rows.length < 1) {\n throw new NoneSubscriptionExistError()\n }\n let text = c.session.text('commands.bsbot.subscribe.info.header') + '\\n'\n for (const row of rows) {\n if (row.subscribe.type.startsWith('group')) {\n text += c.session.text(\n 'commands.bsbot.subscribe.info.group-body-item',\n {\n type:\n row.subscribe.type +\n `(${row.subscribe.data?.mapperName} ${row.subscribe.data?.mapperId})`,\n }\n )\n } else {\n text += c.session.text('commands.bsbot.subscribe.info.body-item', {\n type: row.subscribe.type,\n cnt: row.memberCount,\n enable: row.subscribe.enable,\n })\n if (row.me) {\n text += c.session.text(\n 'commands.bsbot.subscribe.info.body-item-include-you'\n )\n }\n }\n\n text += '\\n\\n'\n }\n await c.session.sendQuote(text)\n })\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAQ,sBAAqB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,kCAAkC;AAC3C,SAAS,yBAAyB;AAElC,IAAO,oBAAQ,MACb,IAAI,eAAe,EAChB,QAAQ,WAAW,EACnB,SAAS,OAAO,EAChB,SAAS,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,EAAE,CAAC,EACtD,SAAS,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,EAAE,CAAC,EACrD,SAAS,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,EAAE,CAAC,EACrD,SAAS,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,EAAE,CAAC,EACpD,SAAS,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,EAAE,CAAC,EACrD,SAAS,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,EAAE,CAAC,EACpD,SAAS,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,EAAE,CAAC,EACrD,SAAS,aAAa,EAAE,SAAS,EAAE,MAAM,WAAW,EAAE,CAAC,EACvD,UAAU,QAAQ,aAAa,EAC/B,eAAe,mCAAmC,EAClD,YAAY,CAAO,MAAM;AApB9B;AA0BM,MAAI,EAAE,QAAQ,SAAS,aAAa;AAClC,QAAI,EAAE,MAAO,QAAO,kBAAkB,CAAC;AACvC,WAAO,UAAU,CAAC;AAAA,EACpB;AAEA,MAAI,EAAE,QAAQ,SAAS,cAAc;AACnC,WAAO,WAAW,CAAC;AAAA,EACrB;AAGA,QAAM,OAAO,MAAM,EAAE,SAAS,GAAG;AAAA,IAC/B,EAAE,QAAQ,QAAQ;AAAA,IAClB,EAAE,QAAQ,KAAK;AAAA,EACjB;AAEA,MAAI,KAAK,SAAS,GAAG;AACnB,UAAM,IAAI,2BAA2B;AAAA,EACvC;AACA,MAAI,OAAO,EAAE,QAAQ,KAAK,sCAAsC,IAAI;AACpE,aAAW,OAAO,MAAM;AACtB,QAAI,IAAI,UAAU,KAAK,WAAW,OAAO,GAAG;AAC1C,cAAQ,EAAE,QAAQ;AAAA,QAChB;AAAA,QACA;AAAA,UACE,MACE,IAAI,UAAU,OACd,KAAI,SAAI,UAAU,SAAd,mBAAoB,UAAU,KAAI,SAAI,UAAU,SAAd,mBAAoB,QAAQ;AAAA,QACtE;AAAA,MACF;AAAA,IACF,OAAO;AACL,cAAQ,EAAE,QAAQ,KAAK,2CAA2C;AAAA,QAChE,MAAM,IAAI,UAAU;AAAA,QACpB,KAAK,IAAI;AAAA,QACT,QAAQ,IAAI,UAAU;AAAA,MACxB,CAAC;AACD,UAAI,IAAI,IAAI;AACV,gBAAQ,EAAE,QAAQ;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,YAAQ;AAAA,EACV;AACA,QAAM,EAAE,QAAQ,UAAU,IAAI;AAChC,EAAC;","names":[]}
|
@@ -25,7 +25,7 @@ var subleave_default = () => new CommandBuilder().setName("subleave").addAlias("
|
|
25
25
|
c.session.user.id
|
26
26
|
);
|
27
27
|
if (c.options.type === "beatleader") {
|
28
|
-
const blSub = subs.find((it) => it.
|
28
|
+
const blSub = subs.find((it) => it.subscribe.type == "beatleader-score");
|
29
29
|
if (!(blSub == null ? void 0 : blSub.me)) {
|
30
30
|
return c.session.sendQuote(
|
31
31
|
c.session.text(
|
@@ -34,14 +34,14 @@ var subleave_default = () => new CommandBuilder().setName("subleave").addAlias("
|
|
34
34
|
);
|
35
35
|
}
|
36
36
|
yield c.services.db.removeFromSubGroupBySubAndUid(
|
37
|
-
blSub.
|
37
|
+
blSub.subscribe.id,
|
38
38
|
c.session.user.id
|
39
39
|
);
|
40
40
|
yield c.session.sendQuote(
|
41
41
|
c.session.text("commands.bsbot.subscribe.leave.success.beatleader")
|
42
42
|
);
|
43
43
|
} else if (c.options.type === "beatsaver") {
|
44
|
-
const bsSub = subs.find((it) => it.
|
44
|
+
const bsSub = subs.find((it) => it.subscribe.type == "beatsaver-map");
|
45
45
|
if (!(bsSub == null ? void 0 : bsSub.me)) {
|
46
46
|
yield c.session.sendQuote(
|
47
47
|
c.session.text("commands.bsbot.subscribe.leave.not-exist.beatsaver")
|
@@ -49,7 +49,7 @@ var subleave_default = () => new CommandBuilder().setName("subleave").addAlias("
|
|
49
49
|
return;
|
50
50
|
}
|
51
51
|
yield c.services.db.removeFromSubGroupBySubAndUid(
|
52
|
-
bsSub.
|
52
|
+
bsSub.subscribe.id,
|
53
53
|
c.session.user.id
|
54
54
|
);
|
55
55
|
yield c.session.sendQuote(
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/subscribe/subleave.ts"],"sourcesContent":["import {CommandBuilder} from \"@/interface\";\n\nexport default () =>\n new CommandBuilder()\n .setName('subleave')\n .addAlias('bbleave')\n .addAlias('/leavebl', { options: { type: 'beatleader' } })\n .addAlias('/leavebs', { options: { type: 'beatsaver' } })\n .addAlias('leavebl', { options: { type: 'beatleader' } })\n .addAlias('leavebs', { options: { type: 'beatsaver' } })\n .addOption('type', 'type:string')\n .setDescription('')\n .setExecutor(async (c) => {\n // getUserJoinedGroupMember\n const subs = await c.services.db.getSubscriptionInfoByUGID(\n c.session.channel.id,\n c.session.user.id\n )\n if (c.options.type === 'beatleader') {\n const blSub = subs.find((it) => it.
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/subscribe/subleave.ts"],"sourcesContent":["import {CommandBuilder} from \"@/interface\";\n\nexport default () =>\n new CommandBuilder()\n .setName('subleave')\n .addAlias('bbleave')\n .addAlias('/leavebl', { options: { type: 'beatleader' } })\n .addAlias('/leavebs', { options: { type: 'beatsaver' } })\n .addAlias('leavebl', { options: { type: 'beatleader' } })\n .addAlias('leavebs', { options: { type: 'beatsaver' } })\n .addOption('type', 'type:string')\n .setDescription('')\n .setExecutor(async (c) => {\n // getUserJoinedGroupMember\n const subs = await c.services.db.getSubscriptionInfoByUGID(\n c.session.channel.id,\n c.session.user.id\n )\n if (c.options.type === 'beatleader') {\n const blSub = subs.find((it) => it.subscribe.type == 'beatleader-score')\n if (!blSub?.me) {\n return c.session.sendQuote(\n c.session.text(\n 'commands.bsbot.subscribe.leave.not-exist.beatleader'\n )\n )\n }\n await c.services.db.removeFromSubGroupBySubAndUid(\n blSub.subscribe.id,\n c.session.user.id\n )\n await c.session.sendQuote(\n c.session.text('commands.bsbot.subscribe.leave.success.beatleader')\n )\n } else if (c.options.type === 'beatsaver') {\n const bsSub = subs.find((it) => it.subscribe.type == 'beatsaver-map')\n if (!bsSub?.me) {\n await c.session.sendQuote(\n c.session.text('commands.bsbot.subscribe.leave.not-exist.beatsaver')\n )\n return\n }\n\n await c.services.db.removeFromSubGroupBySubAndUid(\n bsSub.subscribe.id,\n c.session.user.id\n )\n await c.session.sendQuote(\n c.session.text('commands.bsbot.subscribe.leave.success.beatsaver')\n )\n }\n })\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAQ,sBAAqB;AAE7B,IAAO,mBAAQ,MACb,IAAI,eAAe,EAChB,QAAQ,UAAU,EAClB,SAAS,SAAS,EAClB,SAAS,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,EAAE,CAAC,EACxD,SAAS,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,EAAE,CAAC,EACvD,SAAS,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,EAAE,CAAC,EACvD,SAAS,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,EAAE,CAAC,EACtD,UAAU,QAAQ,aAAa,EAC/B,eAAe,EAAE,EACjB,YAAY,CAAO,MAAM;AAExB,QAAM,OAAO,MAAM,EAAE,SAAS,GAAG;AAAA,IAC/B,EAAE,QAAQ,QAAQ;AAAA,IAClB,EAAE,QAAQ,KAAK;AAAA,EACjB;AACA,MAAI,EAAE,QAAQ,SAAS,cAAc;AACnC,UAAM,QAAQ,KAAK,KAAK,CAAC,OAAO,GAAG,UAAU,QAAQ,kBAAkB;AACvE,QAAI,EAAC,+BAAO,KAAI;AACd,aAAO,EAAE,QAAQ;AAAA,QACf,EAAE,QAAQ;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,UAAM,EAAE,SAAS,GAAG;AAAA,MAClB,MAAM,UAAU;AAAA,MAChB,EAAE,QAAQ,KAAK;AAAA,IACjB;AACA,UAAM,EAAE,QAAQ;AAAA,MACd,EAAE,QAAQ,KAAK,mDAAmD;AAAA,IACpE;AAAA,EACF,WAAW,EAAE,QAAQ,SAAS,aAAa;AACzC,UAAM,QAAQ,KAAK,KAAK,CAAC,OAAO,GAAG,UAAU,QAAQ,eAAe;AACpE,QAAI,EAAC,+BAAO,KAAI;AACd,YAAM,EAAE,QAAQ;AAAA,QACd,EAAE,QAAQ,KAAK,oDAAoD;AAAA,MACrE;AACA;AAAA,IACF;AAEA,UAAM,EAAE,SAAS,GAAG;AAAA,MAClB,MAAM,UAAU;AAAA,MAChB,EAAE,QAAQ,KAAK;AAAA,IACjB;AACA,UAAM,EAAE,QAAQ;AAAA,MACd,EAAE,QAAQ,KAAK,kDAAkD;AAAA,IACnE;AAAA,EACF;AACF,EAAC;","names":[]}
|
@@ -1,11 +1,10 @@
|
|
1
1
|
import { interpolate } from "./parser.js";
|
2
2
|
import { interpolateString } from "./util.js";
|
3
|
-
const defaultLang = "
|
3
|
+
const defaultLang = "en-US";
|
4
4
|
const createTranslator = (translateObject) => {
|
5
5
|
return (path, params = {}, lang = defaultLang) => _translate(translateObject, path, params, lang);
|
6
6
|
};
|
7
7
|
const _translate = (translateObject, path, params = {}, lang = defaultLang) => {
|
8
|
-
console.log("translate", path, params, lang);
|
9
8
|
const keys = path.split(".");
|
10
9
|
let result = translateObject[lang];
|
11
10
|
if (!result) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/common/i18n/index.ts"],"sourcesContent":["import {interpolate} from \"./parser\";\nimport {interpolateString} from \"./util\";\n\nconst defaultLang = \"
|
1
|
+
{"version":3,"sources":["../../../../src/common/i18n/index.ts"],"sourcesContent":["import {interpolate} from \"./parser\";\nimport {interpolateString} from \"./util\";\n\nconst defaultLang = \"en-US\";\n\nexport const createTranslator = (translateObject: object) => {\n return (path: string, params = {}, lang = defaultLang) => _translate(translateObject, path, params, lang)\n}\nconst _translate = (\n translateObject: object,\n path: string,\n params = {},\n lang = defaultLang\n) => {\n const keys = path.split('.')\n let result = translateObject[lang]\n if(!result) {\n return null\n }\n for (const key of keys) {\n if (result[key] !== undefined) {\n result = result[key]\n } else {\n return null\n }\n }\n try {\n if (typeof result === 'string') {\n return interpolate(result, params)\n }\n } catch (e) {\n return interpolateString(result, params)\n }\n return null\n}\n"],"mappings":"AAAA,SAAQ,mBAAkB;AAC1B,SAAQ,yBAAwB;AAEhC,MAAM,cAAc;AAEb,MAAM,mBAAmB,CAAC,oBAA4B;AAC3D,SAAO,CAAC,MAAc,SAAS,CAAC,GAAG,OAAO,gBAAgB,WAAW,iBAAiB,MAAM,QAAQ,IAAI;AAC1G;AACA,MAAM,aAAa,CACjB,iBACA,MACA,SAAS,CAAC,GACV,OAAO,gBACJ;AACH,QAAM,OAAO,KAAK,MAAM,GAAG;AAC3B,MAAI,SAAS,gBAAgB,IAAI;AACjC,MAAG,CAAC,QAAQ;AACV,WAAO;AAAA,EACT;AACA,aAAW,OAAO,MAAM;AACtB,QAAI,OAAO,GAAG,MAAM,QAAW;AAC7B,eAAS,OAAO,GAAG;AAAA,IACrB,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACA,MAAI;AACF,QAAI,OAAO,WAAW,UAAU;AAC9B,aAAO,YAAY,QAAQ,MAAM;AAAA,IACnC;AAAA,EACF,SAAS,GAAG;AACV,WAAO,kBAAkB,QAAQ,MAAM;AAAA,EACzC;AACA,SAAO;AACT;","names":[]}
|
@@ -5,13 +5,13 @@ import { createTranslator } from "../../common/i18n/index.js";
|
|
5
5
|
class I18nService {
|
6
6
|
constructor(config) {
|
7
7
|
__publicField(this, "translator");
|
8
|
-
this.translator = createTranslator(config);
|
8
|
+
this.translator = createTranslator(config != null ? config : {});
|
9
9
|
}
|
10
10
|
mergeConfig(lang, obj) {
|
11
11
|
}
|
12
12
|
loadLang(lang) {
|
13
13
|
}
|
14
|
-
tran(path, params = {}, lang = "zh-
|
14
|
+
tran(path, params = {}, lang = "zh-cn") {
|
15
15
|
return this.translator(path, params, lang);
|
16
16
|
}
|
17
17
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/services/i18n/index.ts"],"sourcesContent":["import {createTranslator} from \"@/common/i18n\";\n\nexport class I18nService {\n translator: (path: string, params: any, lang: string) => string\n constructor(config?: any) {\n this.translator = createTranslator(config)\n }\n mergeConfig(lang: string, obj: any) {\n\n }\n\n loadLang(lang: string) {\n\n }\n\n tran(path: string, params = {}, lang = 'zh-
|
1
|
+
{"version":3,"sources":["../../../../src/services/i18n/index.ts"],"sourcesContent":["import {createTranslator} from \"@/common/i18n\";\n\nexport class I18nService {\n translator: (path: string, params: any, lang: string) => string\n constructor(config?: any) {\n this.translator = createTranslator(config ?? {})\n }\n mergeConfig(lang: string, obj: any) {\n\n }\n\n loadLang(lang: string) {\n\n }\n\n tran(path: string, params = {}, lang = 'zh-cn'): string {\n return this.translator(path, params, lang)\n }\n}\n"],"mappings":";;;AAAA,SAAQ,wBAAuB;AAExB,MAAM,YAAY;AAAA,EAEvB,YAAY,QAAc;AAD1B;AAEE,SAAK,aAAa,iBAAiB,0BAAU,CAAC,CAAC;AAAA,EACjD;AAAA,EACA,YAAY,MAAc,KAAU;AAAA,EAEpC;AAAA,EAEA,SAAS,MAAc;AAAA,EAEvB;AAAA,EAEA,KAAK,MAAc,SAAS,CAAC,GAAG,OAAO,SAAiB;AACtD,WAAO,KAAK,WAAW,MAAM,QAAQ,IAAI;AAAA,EAC3C;AACF;","names":[]}
|