beatsaber-bot-core 0.3.0-rc.1 → 0.3.0-rc.10
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 +8 -11
- package/dist/cjs/cmd/bind/bind-beatleader.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-beatsaver.js +7 -12
- package/dist/cjs/cmd/bind/bind-beatsaver.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-id-beatleader.js +8 -11
- package/dist/cjs/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-id-beatsaver.js +7 -11
- package/dist/cjs/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-scoresaber.js +9 -14
- 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 -1
- package/dist/cjs/common/i18n/index.js.map +1 -1
- package/dist/cjs/components/components/RankDifficulty.js +32 -21
- package/dist/cjs/components/components/RankDifficulty.js.map +1 -1
- package/dist/cjs/components/components/base/avatar.js +12 -1
- package/dist/cjs/components/components/base/avatar.js.map +1 -1
- package/dist/cjs/components/components/bl-rank-score-item.js +8 -7
- package/dist/cjs/components/components/bl-rank-score-item.js.map +1 -1
- package/dist/cjs/components/components/bl-score-item.js +20 -9
- package/dist/cjs/components/components/bl-score-item.js.map +1 -1
- package/dist/cjs/components/components/characteristic.js +36 -25
- package/dist/cjs/components/components/characteristic.js.map +1 -1
- package/dist/cjs/components/components/flag.js +4 -3
- package/dist/cjs/components/components/flag.js.map +1 -1
- package/dist/cjs/components/components/icons/BeatLeader.js +30 -19
- package/dist/cjs/components/components/icons/BeatLeader.js.map +1 -1
- package/dist/cjs/components/components/scoreItem.js +20 -9
- package/dist/cjs/components/components/scoreItem.js.map +1 -1
- package/dist/cjs/components/components/scoregraph.js +2 -1
- package/dist/cjs/components/components/scoregraph.js.map +1 -1
- package/dist/cjs/components/components/skill-graph.js +33 -22
- package/dist/cjs/components/components/skill-graph.js.map +1 -1
- package/dist/cjs/components/components/socre-badge.js +14 -3
- package/dist/cjs/components/components/socre-badge.js.map +1 -1
- package/dist/cjs/components/components/ss-rank-score-item.js +8 -7
- package/dist/cjs/components/components/ss-rank-score-item.js.map +1 -1
- package/dist/cjs/components/components/ss-score-item.js.map +1 -1
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/pages/bl-player.js +1 -1
- package/dist/cjs/components/pages/bl-player.js.map +1 -1
- package/dist/cjs/components/pages/bl-score-with-rank.js +1 -1
- package/dist/cjs/components/pages/bl-score-with-rank.js.map +1 -1
- package/dist/cjs/components/pages/bl-score.js +1 -1
- package/dist/cjs/components/pages/bl-score.js.map +1 -1
- package/dist/cjs/components/pages/ss-player.js +1 -1
- package/dist/cjs/components/pages/ss-player.js.map +1 -1
- package/dist/esm/cmd/bind/bind-beatleader.js +8 -11
- package/dist/esm/cmd/bind/bind-beatleader.js.map +1 -1
- package/dist/esm/cmd/bind/bind-beatsaver.js +7 -12
- package/dist/esm/cmd/bind/bind-beatsaver.js.map +1 -1
- package/dist/esm/cmd/bind/bind-id-beatleader.js +8 -11
- package/dist/esm/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/dist/esm/cmd/bind/bind-id-beatsaver.js +7 -11
- package/dist/esm/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/dist/esm/cmd/bind/bind-scoresaber.js +9 -14
- 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 -1
- package/dist/esm/common/i18n/index.js.map +1 -1
- package/dist/esm/components/components/RankDifficulty.js +1 -0
- package/dist/esm/components/components/RankDifficulty.js.map +1 -1
- package/dist/esm/components/components/base/avatar.js +1 -0
- package/dist/esm/components/components/base/avatar.js.map +1 -1
- package/dist/esm/components/components/bl-rank-score-item.js +1 -0
- package/dist/esm/components/components/bl-rank-score-item.js.map +1 -1
- package/dist/esm/components/components/bl-score-item.js +1 -0
- package/dist/esm/components/components/bl-score-item.js.map +1 -1
- package/dist/esm/components/components/characteristic.js +1 -0
- package/dist/esm/components/components/characteristic.js.map +1 -1
- package/dist/esm/components/components/flag.js +1 -0
- package/dist/esm/components/components/flag.js.map +1 -1
- package/dist/esm/components/components/icons/BeatLeader.js +1 -0
- package/dist/esm/components/components/icons/BeatLeader.js.map +1 -1
- package/dist/esm/components/components/scoreItem.js +1 -0
- package/dist/esm/components/components/scoreItem.js.map +1 -1
- package/dist/esm/components/components/scoregraph.js +1 -0
- package/dist/esm/components/components/scoregraph.js.map +1 -1
- package/dist/esm/components/components/skill-graph.js +1 -0
- package/dist/esm/components/components/skill-graph.js.map +1 -1
- package/dist/esm/components/components/socre-badge.js +1 -0
- package/dist/esm/components/components/socre-badge.js.map +1 -1
- package/dist/esm/components/components/ss-rank-score-item.js +1 -0
- package/dist/esm/components/components/ss-rank-score-item.js.map +1 -1
- package/dist/esm/components/components/ss-score-item.js.map +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/pages/bl-player.js +1 -1
- package/dist/esm/components/pages/bl-player.js.map +1 -1
- package/dist/esm/components/pages/bl-score-with-rank.js +1 -1
- package/dist/esm/components/pages/bl-score-with-rank.js.map +1 -1
- package/dist/esm/components/pages/bl-score.js +1 -1
- package/dist/esm/components/pages/bl-score.js.map +1 -1
- package/dist/esm/components/pages/ss-player.js +1 -1
- package/dist/esm/components/pages/ss-player.js.map +1 -1
- package/package.json +8 -17
@@ -41,6 +41,7 @@ __export(bind_beatleader_exports, {
|
|
41
41
|
});
|
42
42
|
module.exports = __toCommonJS(bind_beatleader_exports);
|
43
43
|
const handleBeatLeaderBind = (c) => __async(null, null, function* () {
|
44
|
+
var _a;
|
44
45
|
const tokenInfo = yield c.services.api.AIOSaber.getBLOAuthToken(c.input);
|
45
46
|
if (!tokenInfo) {
|
46
47
|
c.session.sendQuote(c.session.text("commands.bsbot.bl.account.not-found"));
|
@@ -70,22 +71,18 @@ const handleBeatLeaderBind = (c) => __async(null, null, function* () {
|
|
70
71
|
const now = /* @__PURE__ */ new Date();
|
71
72
|
const { blAccount } = yield c.services.db.getUserAccountsByUid(c.session.user.id);
|
72
73
|
const account = {
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
otherPlatformInfo: {},
|
74
|
+
userId: c.session.user.id,
|
75
|
+
accountId: (_a = blAccount == null ? void 0 : blAccount.id) != null ? _a : "",
|
76
|
+
providerId: "beatleader",
|
77
|
+
providerUsername: self.name,
|
78
|
+
metadata: {},
|
79
79
|
accessToken: token.access_token,
|
80
80
|
refreshToken: token.refresh_token,
|
81
81
|
lastModifiedAt: now,
|
82
82
|
lastRefreshAt: now,
|
83
|
-
|
84
|
-
|
83
|
+
createdAt: now,
|
84
|
+
type: "oauth"
|
85
85
|
};
|
86
|
-
if (blAccount) {
|
87
|
-
account.id = blAccount.id;
|
88
|
-
}
|
89
86
|
yield c.services.db.addUserBindingInfo(account);
|
90
87
|
c.session.sendQuote(
|
91
88
|
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 { Account } 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<Account> = {\n userId: c.session.user.id,\n accountId: blAccount?.id ?? '',\n providerId: 'beatleader',\n providerUsername: self.name,\n metadata: {},\n accessToken: token.access_token,\n refreshToken: token.refresh_token,\n lastModifiedAt: now,\n lastRefreshAt: now,\n createdAt: now,\n type: 'oauth',\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,uBAAuB,CAAO,MAAkB;AAH7D;AAIE,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,UAA4B;AAAA,IAChC,QAAQ,EAAE,QAAQ,KAAK;AAAA,IACvB,YAAW,4CAAW,OAAX,YAAiB;AAAA,IAC5B,YAAY;AAAA,IACZ,kBAAkB,KAAK;AAAA,IACvB,UAAU,CAAC;AAAA,IACX,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,WAAW;AAAA,IACX,MAAM;AAAA,EACR;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":[]}
|
@@ -62,24 +62,19 @@ const handleBeatSaverBind = (c) => __async(null, null, function* () {
|
|
62
62
|
self = yield c.services.api.BeatSaver.getTokenInfo(token.access_token);
|
63
63
|
}
|
64
64
|
const now = /* @__PURE__ */ new Date();
|
65
|
-
const { bsAccount } = yield c.services.db.getUserAccountsByUid(c.session.user.id);
|
66
65
|
const account = {
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
66
|
+
userId: c.session.user.id,
|
67
|
+
providerId: "beatsaver",
|
68
|
+
accountId: self.id,
|
69
|
+
providerUsername: self.name,
|
70
|
+
metadata: {},
|
71
|
+
scope: "identity,alerts",
|
73
72
|
accessToken: token.access_token,
|
74
73
|
refreshToken: token.refresh_token,
|
75
74
|
lastModifiedAt: now,
|
76
75
|
lastRefreshAt: now,
|
77
|
-
type: "oauth"
|
78
|
-
status: "ok"
|
76
|
+
type: "oauth"
|
79
77
|
};
|
80
|
-
if (bsAccount) {
|
81
|
-
account.id = bsAccount.id;
|
82
|
-
}
|
83
78
|
yield c.services.db.addUserBindingInfo(account);
|
84
79
|
c.session.sendQuote(
|
85
80
|
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, Account } 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 account: Partial<Account> = {\n userId: c.session.user.id,\n providerId: 'beatsaver',\n accountId: self.id,\n providerUsername: self.name,\n metadata: {},\n scope: 'identity,alerts',\n accessToken: token.access_token,\n refreshToken: token.refresh_token,\n lastModifiedAt: now,\n lastRefreshAt: now,\n type: 'oauth',\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;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,UAA4B;AAAA,IAChC,QAAQ,EAAE,QAAQ,KAAK;AAAA,IACvB,YAAY;AAAA,IACZ,WAAW,KAAK;AAAA,IAChB,kBAAkB,KAAK;AAAA,IACvB,UAAU,CAAC;AAAA,IACX,OAAO;AAAA,IACP,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,MAAM;AAAA,EACR;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":[]}
|
@@ -51,7 +51,7 @@ const handleBeatLeaderIDBind = (c) => __async(null, null, function* () {
|
|
51
51
|
const text = c.session.text("commands.bsbot.bind.ack-prompt", {
|
52
52
|
user: `${player.name}(${player.id})`
|
53
53
|
}) + (blAccount ? "," + c.session.text("commands.bsbot.bind.exist", {
|
54
|
-
id: blAccount.
|
54
|
+
id: blAccount.accountId
|
55
55
|
}) : "");
|
56
56
|
yield c.session.sendQuote(text);
|
57
57
|
const prompt = yield c.session.prompt(3e4);
|
@@ -59,19 +59,16 @@ const handleBeatLeaderIDBind = (c) => __async(null, null, function* () {
|
|
59
59
|
throw prompt ? new import_errors.SessionPromotionCancelError() : new import_errors.SessionPromotionTimeoutError();
|
60
60
|
}
|
61
61
|
const account = {
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
62
|
+
userId: c.session.user.id,
|
63
|
+
providerId: "beatleader",
|
64
|
+
accountId: player.id.toString(),
|
65
|
+
providerUsername: player.name,
|
66
|
+
metadata: {},
|
67
67
|
lastModifiedAt: now,
|
68
68
|
lastRefreshAt: now,
|
69
|
-
|
70
|
-
|
69
|
+
createdAt: now,
|
70
|
+
type: "id"
|
71
71
|
};
|
72
|
-
if (blAccount) {
|
73
|
-
account.id = blAccount.id;
|
74
|
-
}
|
75
72
|
yield c.services.db.addUserBindingInfo(account);
|
76
73
|
yield c.session.sendQuote(
|
77
74
|
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, Account } 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.accountId,\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<Account> = {\n userId: c.session.user.id,\n providerId: 'beatleader',\n accountId: player.id.toString(),\n providerUsername: player.name,\n metadata: {},\n lastModifiedAt: now,\n lastRefreshAt: now,\n createdAt: now,\n type: '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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAIO;AAEA,MAAM,yBAAyB,CAAO,MAAkB;AAC7D,QAAM,SAAS,MAAM,EAAE,SAAS,IAAI,WAAW,cAAc,EAAE,KAAK;AACpE,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,gCAAkB,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,0CAA4B,IAChC,IAAI,2CAA6B;AAAA,EACvC;AACA,QAAM,UAA4B;AAAA,IAChC,QAAQ,EAAE,QAAQ,KAAK;AAAA,IACvB,YAAY;AAAA,IACZ,WAAW,OAAO,GAAG,SAAS;AAAA,IAC9B,kBAAkB,OAAO;AAAA,IACzB,UAAU,CAAC;AAAA,IACX,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,WAAW;AAAA,IACX,MAAM;AAAA,EACR;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":[]}
|
@@ -51,7 +51,7 @@ const handleBeatSaverIDBind = (c) => __async(null, null, function* () {
|
|
51
51
|
const text = c.session.text("commands.bsbot.bind.ack-prompt", {
|
52
52
|
user: `${mapper.name}(${mapper.id})`
|
53
53
|
}) + (bsAccount ? "," + c.session.text("commands.bsbot.bind.exist", {
|
54
|
-
id: bsAccount.
|
54
|
+
id: bsAccount.accountId
|
55
55
|
}) : "");
|
56
56
|
yield c.session.sendQuote(text);
|
57
57
|
const prompt = yield c.session.prompt(3e4);
|
@@ -59,19 +59,15 @@ const handleBeatSaverIDBind = (c) => __async(null, null, function* () {
|
|
59
59
|
throw prompt ? new import_errors.SessionPromotionCancelError() : new import_errors.SessionPromotionTimeoutError();
|
60
60
|
}
|
61
61
|
const account = {
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
62
|
+
userId: c.session.user.id,
|
63
|
+
providerId: "beatsaver",
|
64
|
+
accountId: mapper.id.toString(),
|
65
|
+
providerUsername: mapper.name,
|
66
|
+
metadata: {},
|
67
67
|
lastModifiedAt: now,
|
68
68
|
lastRefreshAt: now,
|
69
|
-
type: "id"
|
70
|
-
status: "ok"
|
69
|
+
type: "id"
|
71
70
|
};
|
72
|
-
if (bsAccount) {
|
73
|
-
account.id = bsAccount.id;
|
74
|
-
}
|
75
71
|
yield c.services.db.addUserBindingInfo(account);
|
76
72
|
c.session.sendQuote(
|
77
73
|
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, Account } 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.accountId,\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<Account> = {\n userId: c.session.user.id,\n providerId: 'beatsaver',\n accountId: mapper.id.toString(),\n providerUsername: mapper.name,\n metadata: {},\n lastModifiedAt: now,\n lastRefreshAt: now,\n type: '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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAIO;AAEA,MAAM,wBAAwB,CAAO,MAAkB;AAC5D,QAAM,SAAS,MAAM,EAAE,SAAS,IAAI,UAAU,gBAAgB,EAAE,KAAK;AACrE,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,gCAAkB,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,0CAA4B,IAChC,IAAI,2CAA6B;AAAA,EACvC;AACA,QAAM,UAA4B;AAAA,IAChC,QAAQ,EAAE,QAAQ,KAAK;AAAA,IACvB,YAAY;AAAA,IACZ,WAAW,OAAO,GAAG,SAAS;AAAA,IAC9B,kBAAkB,OAAO;AAAA,IACzB,UAAU,CAAC;AAAA,IACX,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,MAAM;AAAA,EACR;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":[]}
|
@@ -46,12 +46,10 @@ const handleScoreSaberBind = (c) => __async(null, null, function* () {
|
|
46
46
|
if (!scoreSaberUser) {
|
47
47
|
throw new import_errors.SSIDNotFoundError({ accountId: c.input });
|
48
48
|
}
|
49
|
-
const { ssAccount
|
50
|
-
c.session.user.id
|
51
|
-
);
|
49
|
+
const { ssAccount } = yield c.services.db.getUserAccountsByUid(c.session.user.id);
|
52
50
|
const text = c.session.text("commands.bsbot.bind.ack-prompt", {
|
53
51
|
user: `${scoreSaberUser.name}(${scoreSaberUser.id})`
|
54
|
-
}) + (ssAccount ? "," + c.session.text("commands.bsbot.bind.exist", { id: ssAccount.
|
52
|
+
}) + (ssAccount ? "," + c.session.text("commands.bsbot.bind.exist", { id: ssAccount.accountId }) : "");
|
55
53
|
yield c.session.sendQuote(text);
|
56
54
|
const prompt = yield c.session.prompt(3e4);
|
57
55
|
if (!prompt || prompt != "y" && prompt != "yes") {
|
@@ -59,20 +57,17 @@ const handleScoreSaberBind = (c) => __async(null, null, function* () {
|
|
59
57
|
}
|
60
58
|
const now = /* @__PURE__ */ new Date();
|
61
59
|
const account = {
|
62
|
-
|
63
|
-
|
64
|
-
|
60
|
+
userId: c.session.user.id,
|
61
|
+
accountId: scoreSaberUser.id,
|
62
|
+
providerId: "scoresaber",
|
63
|
+
providerUsername: scoreSaberUser.name,
|
65
64
|
lastModifiedAt: now,
|
66
65
|
lastRefreshAt: now,
|
67
|
-
|
68
|
-
type: "id"
|
69
|
-
status: "ok"
|
66
|
+
createdAt: now,
|
67
|
+
type: "id"
|
70
68
|
};
|
71
|
-
if (ssAccount) {
|
72
|
-
account.id = ssAccount.id;
|
73
|
-
}
|
74
69
|
yield c.services.db.addUserBindingInfo(account);
|
75
|
-
c.session.sendQuote(
|
70
|
+
yield c.session.sendQuote(
|
76
71
|
c.session.text("commands.bsbot.bind.success", {
|
77
72
|
user: `${scoreSaberUser.name}(${scoreSaberUser.id})`
|
78
73
|
})
|
@@ -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 {Account, 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} = await c.services.db.getUserAccountsByUid(c.session.user.id)\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.accountId,}) : '')\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<Account> = {\n userId: c.session.user.id,\n accountId: scoreSaberUser.id,\n providerId: 'scoresaber',\n providerUsername: scoreSaberUser.name,\n lastModifiedAt: now,\n lastRefreshAt: now,\n createdAt: now,\n type: 'id',\n }\n await c.services.db.addUserBindingInfo(account)\n await c.session.sendQuote(\n c.session.text('commands.bsbot.bind.success', {\n user: `${scoreSaberUser.name}(${scoreSaberUser.id})`,\n })\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAIO;AAEA,MAAM,uBAAuB,CAAO,MAAkB;AAC3D,QAAM,iBAAiB,MAAM,EAAE,SAAS,IAAI,WAAW,iBAAiB,EAAE,KAAK;AAC/E,MAAI,CAAC,gBAAgB;AACnB,UAAM,IAAI,gCAAkB,EAAC,WAAW,EAAE,MAAK,CAAC;AAAA,EAClD;AACA,QAAM,EAAC,UAAS,IAAI,MAAM,EAAE,SAAS,GAAG,qBAAqB,EAAE,QAAQ,KAAK,EAAE;AAC9E,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,UAAU,CAAC,IAAI;AAE/F,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,0CAA4B,IAChC,IAAI,2CAA6B;AAAA,EACvC;AACA,QAAM,MAAM,oBAAI,KAAK;AACrB,QAAM,UAA4B;AAAA,IAChC,QAAQ,EAAE,QAAQ,KAAK;AAAA,IACvB,WAAW,eAAe;AAAA,IAC1B,YAAY;AAAA,IACZ,kBAAkB,eAAe;AAAA,IACjC,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,WAAW;AAAA,IACX,MAAM;AAAA,EACR;AACA,QAAM,EAAE,SAAS,GAAG,mBAAmB,OAAO;AAC9C,QAAM,EAAE,QAAQ;AAAA,IACd,EAAE,QAAQ,KAAK,+BAA+B;AAAA,MAC5C,MAAM,GAAG,eAAe,IAAI,IAAI,eAAe,EAAE;AAAA,IACnD,CAAC;AAAA,EACH;AACF;","names":[]}
|
package/dist/cjs/cmd/rank.js
CHANGED
@@ -43,17 +43,17 @@ module.exports = __toCommonJS(rank_exports);
|
|
43
43
|
var import_interface = require("../interface/index.js");
|
44
44
|
var import_utils = require("../utils/index.js");
|
45
45
|
var import_errors = require("../services/errors/index.js");
|
46
|
-
var rank_default = () => new import_interface.CommandBuilder().setName("rank").addOption("p", "platform:string").
|
46
|
+
var rank_default = () => new import_interface.CommandBuilder().setName("rank").addOption("p", "platform:string").setExecutor((c) => __async(null, null, function* () {
|
47
47
|
let uid = c.session.user.id;
|
48
48
|
if (c.session.mentions && c.session.mentions.length > 0) {
|
49
49
|
uid = c.session.mentions[0].id;
|
50
50
|
}
|
51
51
|
const { blAccount, ssAccount } = yield c.services.db.getUserAccountsByUid(uid);
|
52
|
-
let accountId = import_utils.Platform.BL && (blAccount == null ? void 0 : blAccount.
|
52
|
+
let accountId = import_utils.Platform.BL && (blAccount == null ? void 0 : blAccount.accountId);
|
53
53
|
if (c.input) {
|
54
54
|
accountId = c.input;
|
55
55
|
} else if (!accountId) {
|
56
|
-
accountId = import_utils.Platform.SS && (ssAccount == null ? void 0 : ssAccount.
|
56
|
+
accountId = import_utils.Platform.SS && (ssAccount == null ? void 0 : ssAccount.accountId);
|
57
57
|
}
|
58
58
|
if (!accountId && !c.input) {
|
59
59
|
throw new import_errors.UnknownUserIDError();
|
package/dist/cjs/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 .
|
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?.accountId\n\n if (c.input) {\n accountId = c.input\n // preference = undefined\n } else if (!accountId) {\n accountId = Platform.SS && ssAccount?.accountId\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;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA6B;AAC7B,mBAAwC;AACxC,oBAAiC;AAEjC,IAAO,eAAQ,MACb,IAAI,gCAAe,EAChB,QAAQ,MAAM,EACd,UAAU,KAAK,iBAAiB,EAChC,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,sBAAS,OAAM,uCAAW;AAE1C,MAAI,EAAE,OAAO;AACX,gBAAY,EAAE;AAAA,EAEhB,WAAW,CAAC,WAAW;AACrB,gBAAY,sBAAS,OAAM,uCAAW;AAAA,EACxC;AAEA,MAAI,CAAC,aAAa,CAAC,EAAE,OAAO;AAC1B,UAAM,IAAI,iCAAmB;AAAA,EAC/B;AACA,QAAM,mBAAe,4BAAc,EAAE,QAAQ,CAAC;AAC9C,QAAM,MAAM,MAAM,EAAE,SAAS,OAAO,WAAW,WAAW,YAAY;AACtE,QAAM,EAAE,QAAQ,cAAc,GAAG;AACnC,EAAC;","names":[]}
|
package/dist/cjs/cmd/score.js
CHANGED
@@ -64,13 +64,13 @@ var score_default = () => new import_interface.CommandBuilder().setName("score")
|
|
64
64
|
}
|
65
65
|
const mapId = c.input;
|
66
66
|
const score = yield c.services.api.getScoreByPlayerIdAndMapId(
|
67
|
-
account.
|
67
|
+
account.accountId,
|
68
68
|
mapId,
|
69
69
|
diffOption
|
70
70
|
);
|
71
71
|
if (!score) {
|
72
72
|
throw new import_errors.ScoreNotFoundError({
|
73
|
-
user: account.
|
73
|
+
user: account.providerUsername,
|
74
74
|
id: mapId,
|
75
75
|
diff: diffOption == null ? void 0 : diffOption.difficulty,
|
76
76
|
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.accountId,\n mapId,\n diffOption\n )\n if(!score) {\n throw new ScoreNotFoundError({\n user: account.providerUsername, 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;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA+B;AAC/B,mBAAsC;AACtC,oBAGO;AACP,IAAO,gBAAQ,MACb,IAAI,gCAAe,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,sBAAS,MAAM;AAC7B,wBAAY,sBAAS,MAAM;AAC3B,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,0CAA4B;AAAA,EACxC;AAEA,MAAI;AACJ,MAAI,EAAE,QAAQ,KAAK,EAAE,QAAQ,GAAG;AAC9B,iBAAa;AAAA,MACX,gBAAY,0BAAY,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,iCAAmB;AAAA,MAC3B,MAAM,QAAQ;AAAA,MAAkB,IAAI;AAAA,MACpC,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":[]}
|
@@ -61,7 +61,7 @@ var import_errors = require("../../services/errors/index.js");
|
|
61
61
|
const beatleader = (c) => __async(null, null, function* () {
|
62
62
|
const { blSub } = yield c.services.db.getSubscriptionsByGID(c.session.channel.id);
|
63
63
|
if (blSub) {
|
64
|
-
if (blSub.
|
64
|
+
if (blSub.enabled) {
|
65
65
|
throw new import_errors.SubscriptionExistError();
|
66
66
|
}
|
67
67
|
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.enabled) {\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAuC;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,SAAS;AACjB,YAAM,IAAI,qCAAuB;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"]}
|
@@ -61,7 +61,7 @@ var import_errors = require("../../services/errors/index.js");
|
|
61
61
|
const beatsaver = (c) => __async(null, null, function* () {
|
62
62
|
const { bsMapSub } = yield c.services.db.getSubscriptionsByGID(c.session.channel.id);
|
63
63
|
if (bsMapSub) {
|
64
|
-
if (bsMapSub.
|
64
|
+
if (bsMapSub.enabled) {
|
65
65
|
throw new import_errors.SubscriptionExistError();
|
66
66
|
}
|
67
67
|
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.enabled) {\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAuC;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,SAAS;AACpB,YAAM,IAAI,qCAAuB;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"]}
|
@@ -75,7 +75,7 @@ const idBeatleaderScore = (c) => __async(null, null, function* () {
|
|
75
75
|
return ((_a = it2.data) == null ? void 0 : _a.playerId) === bluser.id;
|
76
76
|
});
|
77
77
|
if (it) {
|
78
|
-
if (it.
|
78
|
+
if (it.enabled) {
|
79
79
|
throw new import_errors.SubscriptionExistError();
|
80
80
|
}
|
81
81
|
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.enabled) {\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA0D;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,gCAAkB,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,SAAS;AACd,YAAM,IAAI,qCAAuB;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"]}
|
@@ -75,7 +75,7 @@ const idBeatsaverMapper = (c) => __async(null, null, function* () {
|
|
75
75
|
return ((_a = it2.data) == null ? void 0 : _a.mapperId) === mapper.id;
|
76
76
|
});
|
77
77
|
if (it) {
|
78
|
-
if (it.
|
78
|
+
if (it.enabled) {
|
79
79
|
throw new import_errors.SubscriptionExistError();
|
80
80
|
}
|
81
81
|
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.enabled) {\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA0D;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,gCAAkB,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,SAAS;AACd,YAAM,IAAI,qCAAuB;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"]}
|
@@ -63,18 +63,18 @@ var subscribe_default = () => new import_interface.CommandBuilder().setName("sub
|
|
63
63
|
}
|
64
64
|
let text = c.session.text("commands.bsbot.subscribe.info.header") + "\n";
|
65
65
|
for (const row of rows) {
|
66
|
-
if (row.
|
66
|
+
if (row.subscription.type.startsWith("group")) {
|
67
67
|
text += c.session.text(
|
68
68
|
"commands.bsbot.subscribe.info.group-body-item",
|
69
69
|
{
|
70
|
-
type: row.
|
70
|
+
type: row.subscription.type + `(${(_a = row.subscription.data) == null ? void 0 : _a.mapperName} ${(_b = row.subscription.data) == null ? void 0 : _b.mapperId})`
|
71
71
|
}
|
72
72
|
);
|
73
73
|
} else {
|
74
74
|
text += c.session.text("commands.bsbot.subscribe.info.body-item", {
|
75
|
-
type: row.
|
75
|
+
type: row.subscription.type,
|
76
76
|
cnt: row.memberCount,
|
77
|
-
enable: row.
|
77
|
+
enable: row.subscription.enabled
|
78
78
|
});
|
79
79
|
if (row.me) {
|
80
80
|
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.subscription.type.startsWith('group')) {\n text += c.session.text(\n 'commands.bsbot.subscribe.info.group-body-item',\n {\n type:\n row.subscription.type +\n `(${row.subscription.data?.mapperName} ${row.subscription.data?.mapperId})`,\n }\n )\n } else {\n text += c.session.text('commands.bsbot.subscribe.info.body-item', {\n type: row.subscription.type,\n cnt: row.memberCount,\n enable: row.subscription.enabled,\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;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA6B;AAC7B,wBAA2B;AAC3B,uBAA0B;AAC1B,oBAA2C;AAC3C,iCAAkC;AAElC,IAAO,oBAAQ,MACb,IAAI,gCAAe,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,YAAO,8CAAkB,CAAC;AACvC,eAAO,4BAAU,CAAC;AAAA,EACpB;AAEA,MAAI,EAAE,QAAQ,SAAS,cAAc;AACnC,eAAO,8BAAW,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,yCAA2B;AAAA,EACvC;AACA,MAAI,OAAO,EAAE,QAAQ,KAAK,sCAAsC,IAAI;AACpE,aAAW,OAAO,MAAM;AACtB,QAAI,IAAI,aAAa,KAAK,WAAW,OAAO,GAAG;AAC7C,cAAQ,EAAE,QAAQ;AAAA,QAChB;AAAA,QACA;AAAA,UACE,MACE,IAAI,aAAa,OACjB,KAAI,SAAI,aAAa,SAAjB,mBAAuB,UAAU,KAAI,SAAI,aAAa,SAAjB,mBAAuB,QAAQ;AAAA,QAC5E;AAAA,MACF;AAAA,IACF,OAAO;AACL,cAAQ,EAAE,QAAQ,KAAK,2CAA2C;AAAA,QAChE,MAAM,IAAI,aAAa;AAAA,QACvB,KAAK,IAAI;AAAA,QACT,QAAQ,IAAI,aAAa;AAAA,MAC3B,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":[]}
|
@@ -47,7 +47,7 @@ var subleave_default = () => new import_interface.CommandBuilder().setName("subl
|
|
47
47
|
c.session.user.id
|
48
48
|
);
|
49
49
|
if (c.options.type === "beatleader") {
|
50
|
-
const blSub = subs.find((it) => it.
|
50
|
+
const blSub = subs.find((it) => it.subscription.type == "beatleader-score");
|
51
51
|
if (!(blSub == null ? void 0 : blSub.me)) {
|
52
52
|
return c.session.sendQuote(
|
53
53
|
c.session.text(
|
@@ -56,14 +56,14 @@ var subleave_default = () => new import_interface.CommandBuilder().setName("subl
|
|
56
56
|
);
|
57
57
|
}
|
58
58
|
yield c.services.db.removeFromSubGroupBySubAndUid(
|
59
|
-
blSub.
|
59
|
+
blSub.subscription.id,
|
60
60
|
c.session.user.id
|
61
61
|
);
|
62
62
|
yield c.session.sendQuote(
|
63
63
|
c.session.text("commands.bsbot.subscribe.leave.success.beatleader")
|
64
64
|
);
|
65
65
|
} else if (c.options.type === "beatsaver") {
|
66
|
-
const bsSub = subs.find((it) => it.
|
66
|
+
const bsSub = subs.find((it) => it.subscription.type == "beatsaver-map");
|
67
67
|
if (!(bsSub == null ? void 0 : bsSub.me)) {
|
68
68
|
yield c.session.sendQuote(
|
69
69
|
c.session.text("commands.bsbot.subscribe.leave.not-exist.beatsaver")
|
@@ -71,7 +71,7 @@ var subleave_default = () => new import_interface.CommandBuilder().setName("subl
|
|
71
71
|
return;
|
72
72
|
}
|
73
73
|
yield c.services.db.removeFromSubGroupBySubAndUid(
|
74
|
-
bsSub.
|
74
|
+
bsSub.subscription.id,
|
75
75
|
c.session.user.id
|
76
76
|
);
|
77
77
|
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.subscription.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.subscription.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.subscription.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.subscription.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;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA6B;AAE7B,IAAO,mBAAQ,MACb,IAAI,gCAAe,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,aAAa,QAAQ,kBAAkB;AAC1E,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,aAAa;AAAA,MACnB,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,aAAa,QAAQ,eAAe;AACvE,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,aAAa;AAAA,MACnB,EAAE,QAAQ,KAAK;AAAA,IACjB;AACA,UAAM,EAAE,QAAQ;AAAA,MACd,EAAE,QAAQ,KAAK,kDAAkD;AAAA,IACnE;AAAA,EACF;AACF,EAAC;","names":[]}
|
@@ -22,7 +22,7 @@ __export(i18n_exports, {
|
|
22
22
|
module.exports = __toCommonJS(i18n_exports);
|
23
23
|
var import_parser = require("./parser.js");
|
24
24
|
var import_util = require("./util.js");
|
25
|
-
const defaultLang = "
|
25
|
+
const defaultLang = "zh-CN";
|
26
26
|
const createTranslator = (translateObject) => {
|
27
27
|
return (path, params = {}, lang = defaultLang) => _translate(translateObject, path, params, lang);
|
28
28
|
};
|
@@ -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 = \"zh-CN\";\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;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA0B;AAC1B,kBAAgC;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,iBAAO,2BAAY,QAAQ,MAAM;AAAA,IACnC;AAAA,EACF,SAAS,GAAG;AACV,eAAO,+BAAkB,QAAQ,MAAM;AAAA,EACzC;AACA,SAAO;AACT;","names":[]}
|