beatsaber-bot-core 0.2.0-dev.2 → 0.2.0-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/base/aioRequest.d.ts +6 -0
- package/lib/api/base/aioRequest.js +24 -0
- package/lib/api/base/aioRequest.js.map +1 -0
- package/lib/api/base/blRequset.d.ts +12 -0
- package/lib/api/base/blRequset.js +68 -0
- package/lib/api/base/blRequset.js.map +1 -0
- package/lib/api/base/bsRequest.d.ts +24 -0
- package/lib/api/base/bsRequest.js +64 -0
- package/lib/api/base/bsRequest.js.map +1 -0
- package/lib/api/base/index.d.ts +12 -0
- package/lib/api/base/index.js +21 -0
- package/lib/api/base/index.js.map +1 -0
- package/lib/api/base/scRequest.d.ts +6 -0
- package/lib/api/base/scRequest.js +28 -0
- package/lib/api/base/scRequest.js.map +1 -0
- package/lib/api/composed/aiosaber.d.ts +7 -0
- package/lib/api/composed/aiosaber.js +16 -0
- package/lib/api/composed/aiosaber.js.map +1 -0
- package/lib/api/composed/beatleader.d.ts +27 -0
- package/lib/api/composed/beatleader.js +91 -0
- package/lib/api/composed/beatleader.js.map +1 -0
- package/lib/api/composed/beatsaver.d.ts +12 -0
- package/lib/api/composed/beatsaver.js +18 -0
- package/lib/api/composed/beatsaver.js.map +1 -0
- package/lib/api/composed/scoresaber.d.ts +14 -0
- package/lib/api/composed/scoresaber.js +67 -0
- package/lib/api/composed/scoresaber.js.map +1 -0
- package/lib/api/index.d.ts +31 -0
- package/lib/api/index.js +134 -0
- package/lib/api/index.js.map +1 -0
- package/lib/api/interfaces/aiosaber/index.d.ts +7 -0
- package/lib/api/interfaces/aiosaber/index.js +3 -0
- package/lib/api/interfaces/aiosaber/index.js.map +1 -0
- package/lib/api/interfaces/beatleader/bsor.d.ts +112 -0
- package/lib/api/interfaces/beatleader/bsor.js +3 -0
- package/lib/api/interfaces/beatleader/bsor.js.map +1 -0
- package/lib/api/interfaces/beatleader/index.d.ts +5 -0
- package/lib/api/interfaces/beatleader/index.js +22 -0
- package/lib/api/interfaces/beatleader/index.js.map +1 -0
- package/lib/api/interfaces/beatleader/req.d.ts +19 -0
- package/lib/api/interfaces/beatleader/req.js +3 -0
- package/lib/api/interfaces/beatleader/req.js.map +1 -0
- package/lib/api/interfaces/beatleader/score.d.ts +162 -0
- package/lib/api/interfaces/beatleader/score.js +3 -0
- package/lib/api/interfaces/beatleader/score.js.map +1 -0
- package/lib/api/interfaces/beatleader/user.d.ts +171 -0
- package/lib/api/interfaces/beatleader/user.js +3 -0
- package/lib/api/interfaces/beatleader/user.js.map +1 -0
- package/lib/api/interfaces/beatleader/ws.d.ts +87 -0
- package/lib/api/interfaces/beatleader/ws.js +3 -0
- package/lib/api/interfaces/beatleader/ws.js.map +1 -0
- package/lib/api/interfaces/beatsaver/alert.d.ts +18 -0
- package/lib/api/interfaces/beatsaver/alert.js +3 -0
- package/lib/api/interfaces/beatsaver/alert.js.map +1 -0
- package/lib/api/interfaces/beatsaver/bsmap.d.ts +66 -0
- package/lib/api/interfaces/beatsaver/bsmap.js +3 -0
- package/lib/api/interfaces/beatsaver/bsmap.js.map +1 -0
- package/lib/api/interfaces/beatsaver/index.d.ts +10 -0
- package/lib/api/interfaces/beatsaver/index.js +22 -0
- package/lib/api/interfaces/beatsaver/index.js.map +1 -0
- package/lib/api/interfaces/beatsaver/resp.d.ts +8 -0
- package/lib/api/interfaces/beatsaver/resp.js +3 -0
- package/lib/api/interfaces/beatsaver/resp.js.map +1 -0
- package/lib/api/interfaces/beatsaver/user.d.ts +8 -0
- package/lib/api/interfaces/beatsaver/user.js +3 -0
- package/lib/api/interfaces/beatsaver/user.js.map +1 -0
- package/lib/api/interfaces/beatsaver/ws.d.ts +5 -0
- package/lib/api/interfaces/beatsaver/ws.js +3 -0
- package/lib/api/interfaces/beatsaver/ws.js.map +1 -0
- package/lib/api/interfaces/scoresaber/index.d.ts +3 -0
- package/lib/api/interfaces/scoresaber/index.js +20 -0
- package/lib/api/interfaces/scoresaber/index.js.map +1 -0
- package/lib/api/interfaces/scoresaber/item.d.ts +57 -0
- package/lib/api/interfaces/scoresaber/item.js +3 -0
- package/lib/api/interfaces/scoresaber/item.js.map +1 -0
- package/lib/api/interfaces/scoresaber/resp.d.ts +9 -0
- package/lib/api/interfaces/scoresaber/resp.js +3 -0
- package/lib/api/interfaces/scoresaber/resp.js.map +1 -0
- package/lib/api/interfaces/scoresaber/user.d.ts +33 -0
- package/lib/api/interfaces/scoresaber/user.js +3 -0
- package/lib/api/interfaces/scoresaber/user.js.map +1 -0
- package/lib/api/interfaces/scoresaber/ws.d.ts +78 -0
- package/lib/api/interfaces/scoresaber/ws.js +3 -0
- package/lib/api/interfaces/scoresaber/ws.js.map +1 -0
- package/lib/api/netResult.d.ts +18 -0
- package/lib/api/netResult.js +42 -0
- package/lib/api/netResult.js.map +1 -0
- package/lib/api/sortScore.d.ts +2 -0
- package/lib/api/sortScore.js +31 -0
- package/lib/api/sortScore.js.map +1 -0
- package/lib/cmd/bind/bind-beatleader.d.ts +2 -0
- package/lib/cmd/bind/bind-beatleader.js +53 -0
- package/lib/cmd/bind/bind-beatleader.js.map +1 -0
- package/lib/cmd/bind/bind-beatsaver.d.ts +2 -0
- package/lib/cmd/bind/bind-beatsaver.js +55 -0
- package/lib/cmd/bind/bind-beatsaver.js.map +1 -0
- package/lib/cmd/bind/bind-id-beatleader.d.ts +2 -0
- package/lib/cmd/bind/bind-id-beatleader.js +55 -0
- package/lib/cmd/bind/bind-id-beatleader.js.map +1 -0
- package/lib/cmd/bind/bind-id-beatsaver.d.ts +2 -0
- package/lib/cmd/bind/bind-id-beatsaver.js +55 -0
- package/lib/cmd/bind/bind-id-beatsaver.js.map +1 -0
- package/lib/cmd/bind/bind-scoresaber.d.ts +2 -0
- package/lib/cmd/bind/bind-scoresaber.js +61 -0
- package/lib/cmd/bind/bind-scoresaber.js.map +1 -0
- package/lib/cmd/bind/index.d.ts +11 -0
- package/lib/cmd/bind/index.js +52 -0
- package/lib/cmd/bind/index.js.map +1 -0
- package/lib/cmd/bsmap/id-search.d.ts +9 -0
- package/lib/cmd/bsmap/id-search.js +35 -0
- package/lib/cmd/bsmap/id-search.js.map +1 -0
- package/lib/cmd/bsmap/key-search.d.ts +9 -0
- package/lib/cmd/bsmap/key-search.js +41 -0
- package/lib/cmd/bsmap/key-search.js.map +1 -0
- package/lib/cmd/bsmap/latest.d.ts +9 -0
- package/lib/cmd/bsmap/latest.js +36 -0
- package/lib/cmd/bsmap/latest.js.map +1 -0
- package/lib/cmd/builder.d.ts +27 -0
- package/lib/cmd/builder.js +41 -0
- package/lib/cmd/builder.js.map +1 -0
- package/lib/cmd/deprecated/cmp.d.ts +9 -0
- package/lib/cmd/deprecated/cmp.js +15 -0
- package/lib/cmd/deprecated/cmp.js.map +1 -0
- package/lib/cmd/deprecated/me.d.ts +13 -0
- package/lib/cmd/deprecated/me.js +66 -0
- package/lib/cmd/deprecated/me.js.map +1 -0
- package/lib/cmd/deprecated/tmp.d.ts +9 -0
- package/lib/cmd/deprecated/tmp.js +21 -0
- package/lib/cmd/deprecated/tmp.js.map +1 -0
- package/lib/cmd/deprecated/whois.d.ts +11 -0
- package/lib/cmd/deprecated/whois.js +40 -0
- package/lib/cmd/deprecated/whois.js.map +1 -0
- package/lib/cmd/help.d.ts +9 -0
- package/lib/cmd/help.js +14 -0
- package/lib/cmd/help.js.map +1 -0
- package/lib/cmd/index.d.ts +2 -0
- package/lib/cmd/index.js +23 -0
- package/lib/cmd/index.js.map +1 -0
- package/lib/cmd/rank.d.ts +11 -0
- package/lib/cmd/rank.js +53 -0
- package/lib/cmd/rank.js.map +1 -0
- package/lib/cmd/score.d.ts +13 -0
- package/lib/cmd/score.js +43 -0
- package/lib/cmd/score.js.map +1 -0
- package/lib/cmd/subscribe/beatleader.d.ts +2 -0
- package/lib/cmd/subscribe/beatleader.js +27 -0
- package/lib/cmd/subscribe/beatleader.js.map +1 -0
- package/lib/cmd/subscribe/beatsaver.d.ts +2 -0
- package/lib/cmd/subscribe/beatsaver.js +27 -0
- package/lib/cmd/subscribe/beatsaver.js.map +1 -0
- package/lib/cmd/subscribe/deprecated/alert.d.ts +0 -0
- package/lib/cmd/subscribe/deprecated/alert.js +86 -0
- package/lib/cmd/subscribe/deprecated/alert.js.map +1 -0
- package/lib/cmd/subscribe/deprecated/blfilters.d.ts +0 -0
- package/lib/cmd/subscribe/deprecated/blfilters.js +49 -0
- package/lib/cmd/subscribe/deprecated/blfilters.js.map +1 -0
- package/lib/cmd/subscribe/deprecated/scoresaber.d.ts +0 -0
- package/lib/cmd/subscribe/deprecated/scoresaber.js +43 -0
- package/lib/cmd/subscribe/deprecated/scoresaber.js.map +1 -0
- package/lib/cmd/subscribe/index.d.ts +11 -0
- package/lib/cmd/subscribe/index.js +45 -0
- package/lib/cmd/subscribe/index.js.map +1 -0
- package/lib/cmd/subscribe/subjoin.d.ts +11 -0
- package/lib/cmd/subscribe/subjoin.js +42 -0
- package/lib/cmd/subscribe/subjoin.js.map +1 -0
- package/lib/cmd/subscribe/subleave.d.ts +11 -0
- package/lib/cmd/subscribe/subleave.js +35 -0
- package/lib/cmd/subscribe/subleave.js.map +1 -0
- package/lib/cmd/subscribe/unsubscribe.d.ts +11 -0
- package/lib/cmd/subscribe/unsubscribe.js +41 -0
- package/lib/cmd/subscribe/unsubscribe.js.map +1 -0
- package/lib/config.d.ts +23 -0
- package/lib/config.js +3 -0
- package/lib/config.js.map +1 -0
- package/lib/db/index.d.ts +34 -0
- package/lib/db/index.js +3 -0
- package/lib/db/index.js.map +1 -0
- package/lib/errors/index.d.ts +53 -0
- package/lib/errors/index.js +113 -0
- package/lib/errors/index.js.map +1 -0
- package/lib/i18n/index.d.ts +2 -0
- package/lib/i18n/index.js +112 -0
- package/lib/i18n/index.js.map +1 -0
- package/lib/i18n/zh-cn.json +1 -0
- package/lib/img-render/components/base/avatar.d.ts +0 -0
- package/lib/img-render/components/base/avatar.js +1 -0
- package/lib/img-render/components/base/avatar.js.map +1 -0
- package/lib/img-render/components/blScoreItem.d.ts +6 -0
- package/lib/img-render/components/blScoreItem.js +14 -0
- package/lib/img-render/components/blScoreItem.js.map +1 -0
- package/lib/img-render/components/characteristic.d.ts +5 -0
- package/lib/img-render/components/characteristic.js +27 -0
- package/lib/img-render/components/characteristic.js.map +1 -0
- package/lib/img-render/components/flag.d.ts +5 -0
- package/lib/img-render/components/flag.js +39 -0
- package/lib/img-render/components/flag.js.map +1 -0
- package/lib/img-render/components/icons/BeatLeader.d.ts +3 -0
- package/lib/img-render/components/icons/BeatLeader.js +10 -0
- package/lib/img-render/components/icons/BeatLeader.js.map +1 -0
- package/lib/img-render/components/icons/RankIcon.d.ts +4 -0
- package/lib/img-render/components/icons/RankIcon.js +14 -0
- package/lib/img-render/components/icons/RankIcon.js.map +1 -0
- package/lib/img-render/components/icons/ScoreSaberIcon.d.ts +3 -0
- package/lib/img-render/components/icons/ScoreSaberIcon.js +8 -0
- package/lib/img-render/components/icons/ScoreSaberIcon.js.map +1 -0
- package/lib/img-render/components/progressbar.d.ts +4 -0
- package/lib/img-render/components/progressbar.js +9 -0
- package/lib/img-render/components/progressbar.js.map +1 -0
- package/lib/img-render/components/scoreItem.d.ts +4 -0
- package/lib/img-render/components/scoreItem.js +29 -0
- package/lib/img-render/components/scoreItem.js.map +1 -0
- package/lib/img-render/components/scoregraph.d.ts +8 -0
- package/lib/img-render/components/scoregraph.js +300 -0
- package/lib/img-render/components/scoregraph.js.map +1 -0
- package/lib/img-render/components/skill-graph.d.ts +5 -0
- package/lib/img-render/components/skill-graph.js +50 -0
- package/lib/img-render/components/skill-graph.js.map +1 -0
- package/lib/img-render/components/socre-badge.d.ts +5 -0
- package/lib/img-render/components/socre-badge.js +10 -0
- package/lib/img-render/components/socre-badge.js.map +1 -0
- package/lib/img-render/components/ssScoreItem.d.ts +4 -0
- package/lib/img-render/components/ssScoreItem.js +14 -0
- package/lib/img-render/components/ssScoreItem.js.map +1 -0
- package/lib/img-render/index.d.ts +22 -0
- package/lib/img-render/index.js +130 -0
- package/lib/img-render/index.js.map +1 -0
- package/lib/img-render/interfaces.d.ts +17 -0
- package/lib/img-render/interfaces.js +3 -0
- package/lib/img-render/interfaces.js.map +1 -0
- package/lib/img-render/remote/index.d.ts +0 -0
- package/lib/img-render/remote/index.js +56 -0
- package/lib/img-render/remote/index.js.map +1 -0
- package/lib/img-render/render.d.ts +7 -0
- package/lib/img-render/render.js +40 -0
- package/lib/img-render/render.js.map +1 -0
- package/lib/img-render/renderImg.d.ts +0 -0
- package/lib/img-render/renderImg.js +1 -0
- package/lib/img-render/renderImg.js.map +1 -0
- package/lib/img-render/result/bl-player.d.ts +7 -0
- package/lib/img-render/result/bl-player.js +44 -0
- package/lib/img-render/result/bl-player.js.map +1 -0
- package/lib/img-render/result/bl-score.d.ts +11 -0
- package/lib/img-render/result/bl-score.js +18 -0
- package/lib/img-render/result/bl-score.js.map +1 -0
- package/lib/img-render/result/bs-map.d.ts +8 -0
- package/lib/img-render/result/bs-map.js +26 -0
- package/lib/img-render/result/bs-map.js.map +1 -0
- package/lib/img-render/result/index.d.ts +7 -0
- package/lib/img-render/result/index.js +28 -0
- package/lib/img-render/result/index.js.map +1 -0
- package/lib/img-render/result/ss-player.d.ts +8 -0
- package/lib/img-render/result/ss-player.js +39 -0
- package/lib/img-render/result/ss-player.js.map +1 -0
- package/lib/img-render/utils/bl/beatleader.d.ts +13 -0
- package/lib/img-render/utils/bl/beatleader.js +38 -0
- package/lib/img-render/utils/bl/beatleader.js.map +1 -0
- package/lib/img-render/utils/bl/blheadset.d.ts +273 -0
- package/lib/img-render/utils/bl/blheadset.js +281 -0
- package/lib/img-render/utils/bl/blheadset.js.map +1 -0
- package/lib/img-render/utils/bl/bsorDecoder.d.ts +68 -0
- package/lib/img-render/utils/bl/bsorDecoder.js +286 -0
- package/lib/img-render/utils/bl/bsorDecoder.js.map +1 -0
- package/lib/img-render/utils/bl/bsorReplayAcc.d.ts +35 -0
- package/lib/img-render/utils/bl/bsorReplayAcc.js +590 -0
- package/lib/img-render/utils/bl/bsorReplayAcc.js.map +1 -0
- package/lib/img-render/utils/bl/getPart.d.ts +7 -0
- package/lib/img-render/utils/bl/getPart.js +31 -0
- package/lib/img-render/utils/bl/getPart.js.map +1 -0
- package/lib/img-render/utils/bl/stastic.d.ts +2 -0
- package/lib/img-render/utils/bl/stastic.js +53 -0
- package/lib/img-render/utils/bl/stastic.js.map +1 -0
- package/lib/img-render/utils/canvas.d.ts +5 -0
- package/lib/img-render/utils/canvas.js +70 -0
- package/lib/img-render/utils/canvas.js.map +1 -0
- package/lib/img-render/utils/format.d.ts +3 -0
- package/lib/img-render/utils/format.js +42 -0
- package/lib/img-render/utils/format.js.map +1 -0
- package/lib/img-render/utils/getMods.d.ts +2 -0
- package/lib/img-render/utils/getMods.js +22 -0
- package/lib/img-render/utils/getMods.js.map +1 -0
- package/lib/img-render/utils/index.d.ts +3 -0
- package/lib/img-render/utils/index.js +36 -0
- package/lib/img-render/utils/index.js.map +1 -0
- package/lib/img-render/utils/qrcode.d.ts +1 -0
- package/lib/img-render/utils/qrcode.js +43 -0
- package/lib/img-render/utils/qrcode.js.map +1 -0
- package/lib/img-render/utils/sleep.d.ts +1 -0
- package/lib/img-render/utils/sleep.js +10 -0
- package/lib/img-render/utils/sleep.js.map +1 -0
- package/lib/img-render/utils/tag-format.d.ts +1 -0
- package/lib/img-render/utils/tag-format.js +225 -0
- package/lib/img-render/utils/tag-format.js.map +1 -0
- package/lib/img-render/utils/tw-join.d.ts +4 -0
- package/lib/img-render/utils/tw-join.js +36 -0
- package/lib/img-render/utils/tw-join.js.map +1 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.js +25 -0
- package/lib/index.js.map +1 -0
- package/lib/interface/bot.d.ts +20 -0
- package/lib/interface/bot.js +3 -0
- package/lib/interface/bot.js.map +1 -0
- package/lib/interface/cmd.d.ts +36 -0
- package/lib/interface/cmd.js +3 -0
- package/lib/interface/cmd.js.map +1 -0
- package/lib/interface/db.d.ts +35 -0
- package/lib/interface/db.js +3 -0
- package/lib/interface/db.js.map +1 -0
- package/lib/interface/index.d.ts +15 -0
- package/lib/interface/index.js +35 -0
- package/lib/interface/index.js.map +1 -0
- package/lib/interface/logger.d.ts +6 -0
- package/lib/interface/logger.js +3 -0
- package/lib/interface/logger.js.map +1 -0
- package/lib/interface/render.d.ts +21 -0
- package/lib/interface/render.js +3 -0
- package/lib/interface/render.js.map +1 -0
- package/lib/interface/tables.d.ts +0 -0
- package/lib/interface/tables.js +1 -0
- package/lib/interface/tables.js.map +1 -0
- package/lib/schedules/BeatSaverAlertMonitor.d.ts +0 -0
- package/lib/schedules/BeatSaverAlertMonitor.js +231 -0
- package/lib/schedules/BeatSaverAlertMonitor.js.map +1 -0
- package/lib/schedules/index.d.ts +2 -0
- package/lib/schedules/index.js +19 -0
- package/lib/schedules/index.js.map +1 -0
- package/lib/schedules/oauthTokenRefreshTask.d.ts +5 -0
- package/lib/schedules/oauthTokenRefreshTask.js +53 -0
- package/lib/schedules/oauthTokenRefreshTask.js.map +1 -0
- package/lib/schedules/temp.d.ts +5 -0
- package/lib/schedules/temp.js +23 -0
- package/lib/schedules/temp.js.map +1 -0
- package/lib/utils.d.ts +2 -0
- package/lib/utils.js +25 -0
- package/lib/utils.js.map +1 -0
- package/lib/ws/beatleader.d.ts +18 -0
- package/lib/ws/beatleader.js +55 -0
- package/lib/ws/beatleader.js.map +1 -0
- package/lib/ws/beatsaver.d.ts +18 -0
- package/lib/ws/beatsaver.js +56 -0
- package/lib/ws/beatsaver.js.map +1 -0
- package/lib/ws/bl-filter.d.ts +0 -0
- package/lib/ws/bl-filter.js +64 -0
- package/lib/ws/bl-filter.js.map +1 -0
- package/lib/ws/handler.d.ts +6 -0
- package/lib/ws/handler.js +3 -0
- package/lib/ws/handler.js.map +1 -0
- package/lib/ws/index.d.ts +4 -0
- package/lib/ws/index.js +21 -0
- package/lib/ws/index.js.map +1 -0
- package/lib/ws/scoresaber.d.ts +18 -0
- package/lib/ws/scoresaber.js +37 -0
- package/lib/ws/scoresaber.js.map +1 -0
- package/package.json +1 -1
@@ -0,0 +1,53 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.handleBeatLeaderBind = void 0;
|
4
|
+
const handleBeatLeaderBind = async (c) => {
|
5
|
+
const tokenInfo = await c.api.AIOSaber.wrapperResult().getBLOAuthToken(c.input);
|
6
|
+
if (!tokenInfo.isSuccess()) {
|
7
|
+
c.session.sendQuote(c.session.text('commands.bsbot.bind.bl.not-found'));
|
8
|
+
return;
|
9
|
+
}
|
10
|
+
let token = tokenInfo.data;
|
11
|
+
let self = await c.api.BeatLeader.wrapperResult().getTokenInfo(token.access_token);
|
12
|
+
if (!self.isSuccess()) {
|
13
|
+
const refreshToken = await c.api.BeatLeader.wrapperResult().refreshOAuthToken(token.refresh_token);
|
14
|
+
if (!refreshToken.isSuccess()) {
|
15
|
+
c.session.sendQuote(c.session.text('commands.bsbot.bind.bl.invalid-token'));
|
16
|
+
return;
|
17
|
+
}
|
18
|
+
token = refreshToken.data;
|
19
|
+
self = await c.api.BeatLeader.withRetry(3)
|
20
|
+
.wrapperResult()
|
21
|
+
.getTokenInfo(token.access_token);
|
22
|
+
if (!self.isSuccess()) {
|
23
|
+
c.session.sendQuote(c.session.text('commands.bsbot.bind.bl.unknown-error'));
|
24
|
+
return;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
const now = new Date();
|
28
|
+
const { blAccount } = await c.db.getUserAccountsByUid(c.session.u.id);
|
29
|
+
const account = {
|
30
|
+
uid: c.session.u.id,
|
31
|
+
platform: 'beatleader',
|
32
|
+
platformScope: 'profile clan offline_access',
|
33
|
+
platformUid: self.data.id,
|
34
|
+
platformUname: self.data.name,
|
35
|
+
otherPlatformInfo: {},
|
36
|
+
accessToken: token.access_token,
|
37
|
+
refreshToken: token.refresh_token,
|
38
|
+
lastModifiedAt: now,
|
39
|
+
lastRefreshAt: now,
|
40
|
+
type: 'oauth',
|
41
|
+
status: 'ok',
|
42
|
+
};
|
43
|
+
if (blAccount) {
|
44
|
+
account.id = blAccount.id;
|
45
|
+
}
|
46
|
+
await c.db.addUserBindingInfo(account);
|
47
|
+
c.session.sendQuote(c.session.text('commands.bsbot.bind.bl.success', {
|
48
|
+
name: self.data.name,
|
49
|
+
id: self.data.id,
|
50
|
+
}));
|
51
|
+
};
|
52
|
+
exports.handleBeatLeaderBind = handleBeatLeaderBind;
|
53
|
+
//# sourceMappingURL=bind-beatleader.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bind-beatleader.js","sourceRoot":"","sources":["../../../src/cmd/bind/bind-beatleader.ts"],"names":[],"mappings":";;;AAGO,MAAM,oBAAoB,GAAG,KAAK,EAAQ,CAAmB,EAAE,EAAE;IACtE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,eAAe,CACpE,CAAC,CAAC,KAAK,CACR,CAAA;IACD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC;QAC3B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAA;QACvE,OAAM;IACR,CAAC;IACD,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI,CAAA;IAC1B,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,YAAY,CAC5D,KAAK,CAAC,YAAY,CACnB,CAAA;IACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACtB,MAAM,YAAY,GAChB,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,iBAAiB,CACtD,KAAK,CAAC,aAAa,CACpB,CAAA;QACH,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;YAC9B,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CACvD,CAAA;YACD,OAAM;QACR,CAAC;QACD,KAAK,GAAG,YAAY,CAAC,IAAI,CAAA;QACzB,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACvC,aAAa,EAAE;aACf,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CACvD,CAAA;YACD,OAAM;QACR,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACrE,MAAM,OAAO,GAA2B;QACtC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACnB,QAAQ,EAAE,YAAY;QACtB,aAAa,EAAE,6BAA6B;QAC5C,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;QACzB,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;QAC7B,iBAAiB,EAAE,EAAE;QACrB,WAAW,EAAE,KAAK,CAAC,YAAY;QAC/B,YAAY,EAAE,KAAK,CAAC,aAAa;QACjC,cAAc,EAAE,GAAG;QACnB,aAAa,EAAE,GAAG;QAClB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;KACb,CAAA;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;QACpB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;KACjB,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AA7DY,QAAA,oBAAoB,wBA6DhC"}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.handleBeatSaverBind = void 0;
|
4
|
+
const handleBeatSaverBind = async (c) => {
|
5
|
+
const tokenInfo = await c.api.AIOSaber.wrapperResult()
|
6
|
+
.withRetry(3)
|
7
|
+
.getBSOAuthToken(c.input);
|
8
|
+
if (!tokenInfo.isSuccess()) {
|
9
|
+
c.session.sendQuote(c.session.text('commands.bsbot.bind.bs.not-found'));
|
10
|
+
return;
|
11
|
+
}
|
12
|
+
let token = tokenInfo.data;
|
13
|
+
let self = await c.api.BeatSaver.wrapperResult().getTokenInfo(token.access_token);
|
14
|
+
if (!self.isSuccess()) {
|
15
|
+
const refreshToken = await c.api.BeatSaver.wrapperResult().refreshOAuthToken(token.refresh_token);
|
16
|
+
if (!refreshToken.isSuccess()) {
|
17
|
+
c.session.sendQuote(c.session.text('commands.bsbot.bind.bs.invalid-token'));
|
18
|
+
return;
|
19
|
+
}
|
20
|
+
token = refreshToken.data;
|
21
|
+
self = await c.api.BeatSaver.wrapperResult()
|
22
|
+
.withRetry(3)
|
23
|
+
.getTokenInfo(token.access_token);
|
24
|
+
if (!self.isSuccess()) {
|
25
|
+
c.session.sendQuote(c.session.text('commands.bsbot.bind.bs.unknown-error'));
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
const now = new Date();
|
30
|
+
const { bsAccount } = await c.db.getUserAccountsByUid(c.session.u.id);
|
31
|
+
const account = {
|
32
|
+
uid: c.session.u.id,
|
33
|
+
platform: 'beatsaver',
|
34
|
+
platformUid: self.data.id,
|
35
|
+
platformUname: self.data.name,
|
36
|
+
otherPlatformInfo: {},
|
37
|
+
platformScope: 'identity,alerts',
|
38
|
+
accessToken: token.access_token,
|
39
|
+
refreshToken: token.refresh_token,
|
40
|
+
lastModifiedAt: now,
|
41
|
+
lastRefreshAt: now,
|
42
|
+
type: 'oauth',
|
43
|
+
status: 'ok',
|
44
|
+
};
|
45
|
+
if (bsAccount) {
|
46
|
+
account.id = bsAccount.id;
|
47
|
+
}
|
48
|
+
await c.db.addUserBindingInfo(account);
|
49
|
+
c.session.sendQuote(c.session.text('commands.bsbot.bind.bs.success', {
|
50
|
+
name: self.data.name,
|
51
|
+
id: self.data.id,
|
52
|
+
}));
|
53
|
+
};
|
54
|
+
exports.handleBeatSaverBind = handleBeatSaverBind;
|
55
|
+
//# sourceMappingURL=bind-beatsaver.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bind-beatsaver.js","sourceRoot":"","sources":["../../../src/cmd/bind/bind-beatsaver.ts"],"names":[],"mappings":";;;AAGO,MAAM,mBAAmB,GAAG,KAAK,EAAQ,CAAmB,EAAE,EAAE;IACrE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE;SACnD,SAAS,CAAC,CAAC,CAAC;SACZ,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC;QAC3B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAA;QACvE,OAAM;IACR,CAAC;IACD,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI,CAAA;IAC1B,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,YAAY,CAC3D,KAAK,CAAC,YAAY,CACnB,CAAA;IACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACtB,MAAM,YAAY,GAChB,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,iBAAiB,CACrD,KAAK,CAAC,aAAa,CACpB,CAAA;QACH,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;YAC9B,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CACvD,CAAA;YACD,OAAM;QACR,CAAC;QACD,KAAK,GAAG,YAAY,CAAC,IAAI,CAAA;QACzB,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE;aACzC,SAAS,CAAC,CAAC,CAAC;aACZ,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CACvD,CAAA;YACD,OAAM;QACR,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACrE,MAAM,OAAO,GAA2B;QACtC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACnB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;QACzB,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;QAC7B,iBAAiB,EAAE,EAAE;QACrB,aAAa,EAAE,iBAAiB;QAChC,WAAW,EAAE,KAAK,CAAC,YAAY;QAC/B,YAAY,EAAE,KAAK,CAAC,aAAa;QACjC,cAAc,EAAE,GAAG;QACnB,aAAa,EAAE,GAAG;QAClB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;KACb,CAAA;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAA;IAC3B,CAAC;IACD,MAAM,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;QACpB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;KACjB,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AA5DY,QAAA,mBAAmB,uBA4D/B"}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.handleBeatLeaderIDBind = void 0;
|
4
|
+
const errors_1 = require("../../errors");
|
5
|
+
const handleBeatLeaderIDBind = async (c) => {
|
6
|
+
const player = await c.api.BeatLeader.wrapperResult()
|
7
|
+
.withRetry(3)
|
8
|
+
.getPlayerInfoById(c.input);
|
9
|
+
if (!player.isSuccess()) {
|
10
|
+
throw new errors_1.AccountBindingNotFoundError();
|
11
|
+
}
|
12
|
+
// 如果当前bind 是 oauth?改为 id?
|
13
|
+
const now = new Date();
|
14
|
+
const { blAccount } = await c.db.getUserAccountsByUid(c.session.u.id);
|
15
|
+
const text = c.session.text('commands.bsbot.bind.ack-prompt', {
|
16
|
+
user: `${player.data.name}(${player.data.id})`,
|
17
|
+
}) +
|
18
|
+
(blAccount
|
19
|
+
? ',' +
|
20
|
+
c.session.text('commands.bsbot.bind.exist', {
|
21
|
+
id: blAccount.platformUid,
|
22
|
+
})
|
23
|
+
: '');
|
24
|
+
await c.session.sendQuote(text);
|
25
|
+
const prompt = await c.session.prompt(30000);
|
26
|
+
if (!prompt || (prompt != 'y' && prompt != 'yes')) {
|
27
|
+
throw prompt
|
28
|
+
? new errors_1.SessionPromotionCancelError()
|
29
|
+
: new errors_1.SessionPromotionTimeoutError();
|
30
|
+
}
|
31
|
+
// const binds = c.db.getAccountsByPlatformAndUid()
|
32
|
+
// const u = c.session.u
|
33
|
+
// 如果当前 u为...,已绑定就进行替换
|
34
|
+
const account = {
|
35
|
+
uid: c.session.u.id,
|
36
|
+
platform: 'beatleader',
|
37
|
+
platformUid: player.data.id.toString(),
|
38
|
+
platformUname: player.data.name,
|
39
|
+
otherPlatformInfo: {},
|
40
|
+
lastModifiedAt: now,
|
41
|
+
lastRefreshAt: now,
|
42
|
+
type: 'id',
|
43
|
+
status: 'ok',
|
44
|
+
};
|
45
|
+
if (blAccount) {
|
46
|
+
account.id = blAccount.id;
|
47
|
+
}
|
48
|
+
await c.db.addUserBindingInfo(account);
|
49
|
+
c.session.sendQuote(c.session.text('commands.bsbot.bind.bl.success', {
|
50
|
+
name: player.data.name,
|
51
|
+
id: player.data.id,
|
52
|
+
}));
|
53
|
+
};
|
54
|
+
exports.handleBeatLeaderIDBind = handleBeatLeaderIDBind;
|
55
|
+
//# sourceMappingURL=bind-id-beatleader.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bind-id-beatleader.js","sourceRoot":"","sources":["../../../src/cmd/bind/bind-id-beatleader.ts"],"names":[],"mappings":";;;AACA,qCAIiB;AAGV,MAAM,sBAAsB,GAAG,KAAK,EAAQ,CAAmB,EAAE,EAAE;IACxE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE;SAClD,SAAS,CAAC,CAAC,CAAC;SACZ,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,oCAA2B,EAAE,CAAA;IACzC,CAAC;IACD,0BAA0B;IAC1B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAErE,MAAM,IAAI,GACR,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE;QAC/C,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG;KAC/C,CAAC;QACF,CAAC,SAAS;YACR,CAAC,CAAC,GAAG;gBACH,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE;oBAC1C,EAAE,EAAE,SAAS,CAAC,WAAW;iBAC1B,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC,CAAA;IAET,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM;YACV,CAAC,CAAC,IAAI,oCAA2B,EAAE;YACnC,CAAC,CAAC,IAAI,qCAA4B,EAAE,CAAA;IACxC,CAAC;IAED,mDAAmD;IACnD,wBAAwB;IACxB,sBAAsB;IACtB,MAAM,OAAO,GAA2B;QACtC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACnB,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;QAC/B,iBAAiB,EAAE,EAAE;QACrB,cAAc,EAAE,GAAG;QACnB,aAAa,EAAE,GAAG;QAClB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;KACb,CAAA;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAA;IAC3B,CAAC;IACD,MAAM,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE;QAC/C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;QACtB,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;KACnB,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAvDY,QAAA,sBAAsB,0BAuDlC"}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.handleBeatSaverIDBind = void 0;
|
4
|
+
const errors_1 = require("../../errors");
|
5
|
+
const handleBeatSaverIDBind = async (c) => {
|
6
|
+
const mapper = await c.api.BeatSaver.wrapperResult()
|
7
|
+
.withRetry(3)
|
8
|
+
.getBSMapperById(c.input);
|
9
|
+
if (!mapper.isSuccess()) {
|
10
|
+
throw new errors_1.AccountBindingNotFoundError();
|
11
|
+
}
|
12
|
+
// 如果当前bind 是 oauth?改为 id?
|
13
|
+
const now = new Date();
|
14
|
+
const { bsAccount } = await c.db.getUserAccountsByUid(c.session.u.id);
|
15
|
+
const text = c.session.text('commands.bsbot.bind.ack-prompt', {
|
16
|
+
user: `${mapper.data.name}(${mapper.data.id})`,
|
17
|
+
}) +
|
18
|
+
(bsAccount
|
19
|
+
? ',' +
|
20
|
+
c.session.text('commands.bsbot.bind.exist', {
|
21
|
+
id: bsAccount.platformUid,
|
22
|
+
})
|
23
|
+
: '');
|
24
|
+
await c.session.sendQuote(text);
|
25
|
+
const prompt = await c.session.prompt(30000);
|
26
|
+
if (!prompt || (prompt != 'y' && prompt != 'yes')) {
|
27
|
+
throw prompt
|
28
|
+
? new errors_1.SessionPromotionCancelError()
|
29
|
+
: new errors_1.SessionPromotionTimeoutError();
|
30
|
+
}
|
31
|
+
// const binds = c.db.getAccountsByPlatformAndUid()
|
32
|
+
// const u = c.session.u
|
33
|
+
// 如果当前 u为...,已绑定就进行替换
|
34
|
+
const account = {
|
35
|
+
uid: c.session.u.id,
|
36
|
+
platform: 'beatsaver',
|
37
|
+
platformUid: mapper.data.id.toString(),
|
38
|
+
platformUname: mapper.data.name,
|
39
|
+
otherPlatformInfo: {},
|
40
|
+
lastModifiedAt: now,
|
41
|
+
lastRefreshAt: now,
|
42
|
+
type: 'id',
|
43
|
+
status: 'ok',
|
44
|
+
};
|
45
|
+
if (bsAccount) {
|
46
|
+
account.id = bsAccount.id;
|
47
|
+
}
|
48
|
+
await c.db.addUserBindingInfo(account);
|
49
|
+
c.session.sendQuote(c.session.text('commands.bsbot.bind.bs.success', {
|
50
|
+
name: mapper.data.name,
|
51
|
+
id: mapper.data.id,
|
52
|
+
}));
|
53
|
+
};
|
54
|
+
exports.handleBeatSaverIDBind = handleBeatSaverIDBind;
|
55
|
+
//# sourceMappingURL=bind-id-beatsaver.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bind-id-beatsaver.js","sourceRoot":"","sources":["../../../src/cmd/bind/bind-id-beatsaver.ts"],"names":[],"mappings":";;;AAEA,qCAIiB;AAEV,MAAM,qBAAqB,GAAG,KAAK,EAAQ,CAAmB,EAAE,EAAE;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE;SACjD,SAAS,CAAC,CAAC,CAAC;SACZ,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,oCAA2B,EAAE,CAAA;IACzC,CAAC;IACD,0BAA0B;IAC1B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAErE,MAAM,IAAI,GACR,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE;QAC/C,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG;KAC/C,CAAC;QACF,CAAC,SAAS;YACR,CAAC,CAAC,GAAG;gBACH,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE;oBAC1C,EAAE,EAAE,SAAS,CAAC,WAAW;iBAC1B,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC,CAAA;IAET,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM;YACV,CAAC,CAAC,IAAI,oCAA2B,EAAE;YACnC,CAAC,CAAC,IAAI,qCAA4B,EAAE,CAAA;IACxC,CAAC;IAED,mDAAmD;IACnD,wBAAwB;IACxB,sBAAsB;IACtB,MAAM,OAAO,GAA2B;QACtC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACnB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;QAC/B,iBAAiB,EAAE,EAAE;QACrB,cAAc,EAAE,GAAG;QACnB,aAAa,EAAE,GAAG;QAClB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;KACb,CAAA;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAA;IAC3B,CAAC;IACD,MAAM,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE;QAC/C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;QACtB,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;KACnB,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAvDY,QAAA,qBAAqB,yBAuDjC"}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.handleScoreSaberBind = void 0;
|
4
|
+
const errors_1 = require("../../errors");
|
5
|
+
const handleScoreSaberBind = async (c) => {
|
6
|
+
const scoreSaberUser = await c.api.ScoreSaber.wrapperResult()
|
7
|
+
.withRetry(3)
|
8
|
+
.getScoreUserById(c.input);
|
9
|
+
if (!scoreSaberUser.isSuccess()) {
|
10
|
+
throw new errors_1.ScoreSaberIDNotFoundError(c.input);
|
11
|
+
}
|
12
|
+
const { ssAccount, blAccount } = await c.db.getUserAccountsByUid(c.session.u.id);
|
13
|
+
const text = c.session.text('commands.bsbot.bind.ack-prompt', {
|
14
|
+
user: `${scoreSaberUser.data.name}(${scoreSaberUser.data.id})`,
|
15
|
+
}) +
|
16
|
+
(ssAccount
|
17
|
+
? ',' +
|
18
|
+
c.session.text('commands.bsbot.bind.exist', {
|
19
|
+
id: ssAccount.platformUid,
|
20
|
+
})
|
21
|
+
: '');
|
22
|
+
await c.session.sendQuote(text);
|
23
|
+
const prompt = await c.session.prompt(30000);
|
24
|
+
if (!prompt || (prompt != 'y' && prompt != 'yes')) {
|
25
|
+
throw prompt
|
26
|
+
? new errors_1.SessionPromotionCancelError()
|
27
|
+
: new errors_1.SessionPromotionTimeoutError();
|
28
|
+
}
|
29
|
+
const now = new Date();
|
30
|
+
const account = {
|
31
|
+
uid: c.session.u.id,
|
32
|
+
platform: 'scoresaber',
|
33
|
+
platformUid: scoreSaberUser.data.id,
|
34
|
+
lastModifiedAt: now,
|
35
|
+
lastRefreshAt: now,
|
36
|
+
platformUname: scoreSaberUser.data.name,
|
37
|
+
type: 'id',
|
38
|
+
status: 'ok',
|
39
|
+
};
|
40
|
+
// if (!blAccount) {
|
41
|
+
// const account: Partial<RelateAccount> = {
|
42
|
+
// uid: c.session.u.id,
|
43
|
+
// platform: 'beatleader',
|
44
|
+
// platformUid: scoreSaberUser.data.id,
|
45
|
+
// lastModifiedAt: now,
|
46
|
+
// lastRefreshAt: now,
|
47
|
+
// platformUname: scoreSaberUser.data.name,
|
48
|
+
// type: 'id',
|
49
|
+
// }
|
50
|
+
// await c.db.addUserBindingInfo(account)
|
51
|
+
// }
|
52
|
+
if (ssAccount) {
|
53
|
+
account.id = ssAccount.id;
|
54
|
+
}
|
55
|
+
await c.db.addUserBindingInfo(account);
|
56
|
+
c.session.sendQuote(c.session.text('commands.bsbot.bind.success', {
|
57
|
+
user: `${scoreSaberUser.data.name}(${scoreSaberUser.data.id})`,
|
58
|
+
}));
|
59
|
+
};
|
60
|
+
exports.handleScoreSaberBind = handleScoreSaberBind;
|
61
|
+
//# sourceMappingURL=bind-scoresaber.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bind-scoresaber.js","sourceRoot":"","sources":["../../../src/cmd/bind/bind-scoresaber.ts"],"names":[],"mappings":";;;AAEA,qCAIiB;AAEV,MAAM,oBAAoB,GAAG,KAAK,EAAQ,CAAmB,EAAE,EAAE;IACtE,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE;SAC1D,SAAS,CAAC,CAAC,CAAC;SACZ,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAE5B,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,kCAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAC9D,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CACf,CAAA;IACD,MAAM,IAAI,GACR,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE;QAC/C,IAAI,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG;KAC/D,CAAC;QACF,CAAC,SAAS;YACR,CAAC,CAAC,GAAG;gBACH,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE;oBAC1C,EAAE,EAAE,SAAS,CAAC,WAAW;iBAC1B,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC,CAAA;IAET,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM;YACV,CAAC,CAAC,IAAI,oCAA2B,EAAE;YACnC,CAAC,CAAC,IAAI,qCAA4B,EAAE,CAAA;IACxC,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,OAAO,GAA2B;QACtC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACnB,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;QACnC,cAAc,EAAE,GAAG;QACnB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI;QACvC,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;KACb,CAAA;IACD,oBAAoB;IACpB,8CAA8C;IAC9C,2BAA2B;IAC3B,8BAA8B;IAC9B,2CAA2C;IAC3C,2BAA2B;IAC3B,0BAA0B;IAC1B,+CAA+C;IAC/C,kBAAkB;IAClB,MAAM;IACN,2CAA2C;IAC3C,IAAI;IACJ,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAA;IAC3B,CAAC;IACD,MAAM,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE;QAC5C,IAAI,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG;KAC/D,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AA/DY,QAAA,oBAAoB,wBA+DhC"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
declare const _default: () => {
|
2
|
+
name: string;
|
3
|
+
description: string;
|
4
|
+
aliases: import("../../interface").CmdAlias[];
|
5
|
+
options: import("../../interface").CmdOption[];
|
6
|
+
callback: import("../../interface").CmdExecutor<unknown, {
|
7
|
+
p?: string;
|
8
|
+
}>;
|
9
|
+
children: any[];
|
10
|
+
};
|
11
|
+
export default _default;
|
@@ -0,0 +1,52 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const bind_scoresaber_1 = require("./bind-scoresaber");
|
4
|
+
const builder_1 = require("../../cmd/builder");
|
5
|
+
const interface_1 = require("../../interface");
|
6
|
+
const bind_id_beatleader_1 = require("../../cmd/bind/bind-id-beatleader");
|
7
|
+
const bind_id_beatsaver_1 = require("../../cmd/bind/bind-id-beatsaver");
|
8
|
+
exports.default = () => new builder_1.CommandBuilder()
|
9
|
+
.setName('bind')
|
10
|
+
// <scoresaberId:string>
|
11
|
+
.addOption('p', 'platform:string')
|
12
|
+
.addAlias('bbbind')
|
13
|
+
.addAlias('bbbindbs', { options: { p: 'bs' } })
|
14
|
+
.addAlias('bbbindbs', { options: { p: 'bs' } })
|
15
|
+
.addAlias('bbbindbs', { options: { p: 'bs' } })
|
16
|
+
.addAlias('bbbindbs', { options: { p: 'bs' } })
|
17
|
+
.addAlias('bbbindbl', { options: { p: 'bl' } })
|
18
|
+
.addAlias('bbbindss', { options: { p: 'ss' } })
|
19
|
+
.setDescription('clear an auth account relate info')
|
20
|
+
.setExecutor(async (c) => {
|
21
|
+
if (!c.options.p) {
|
22
|
+
c.options.p = 'ss';
|
23
|
+
}
|
24
|
+
let platform = interface_1.Platform.SS;
|
25
|
+
switch (c.options.p) {
|
26
|
+
case 'bs':
|
27
|
+
platform = interface_1.Platform.BS;
|
28
|
+
break;
|
29
|
+
case 'bl':
|
30
|
+
platform = interface_1.Platform.BL;
|
31
|
+
break;
|
32
|
+
case 'ss':
|
33
|
+
break;
|
34
|
+
default:
|
35
|
+
c.session.sendQuote(`${c.options.p} 这还不是一个可以绑定的平台`);
|
36
|
+
return;
|
37
|
+
}
|
38
|
+
switch (platform) {
|
39
|
+
case interface_1.Platform.SS:
|
40
|
+
await (0, bind_scoresaber_1.handleScoreSaberBind)(c);
|
41
|
+
break;
|
42
|
+
case interface_1.Platform.BS:
|
43
|
+
await (0, bind_id_beatsaver_1.handleBeatSaverIDBind)(c);
|
44
|
+
break;
|
45
|
+
case interface_1.Platform.BL:
|
46
|
+
await (0, bind_id_beatleader_1.handleBeatLeaderIDBind)(c);
|
47
|
+
break;
|
48
|
+
default:
|
49
|
+
throw Error('unreachable code line');
|
50
|
+
}
|
51
|
+
});
|
52
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmd/bind/index.ts"],"names":[],"mappings":";;AAAA,uDAAwD;AACxD,2CAA8C;AAC9C,2CAAsC;AAGtC,sEAAsE;AACtE,oEAAoE;AAEpE,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,MAAM,CAAC;IAChB,wBAAwB;KACvB,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC;KACjC,QAAQ,CAAC,QAAQ,CAAC;KAClB,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC9C,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC9C,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC9C,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC9C,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC9C,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC9C,cAAc,CAAC,mCAAmC,CAAC;KACnD,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACjB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAA;IACpB,CAAC;IACD,IAAI,QAAQ,GAAa,oBAAQ,CAAC,EAAE,CAAA;IACpC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACpB,KAAK,IAAI;YACP,QAAQ,GAAG,oBAAQ,CAAC,EAAE,CAAA;YACtB,MAAK;QACP,KAAK,IAAI;YACP,QAAQ,GAAG,oBAAQ,CAAC,EAAE,CAAA;YACtB,MAAK;QACP,KAAK,IAAI;YACP,MAAK;QACP;YACE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAA;YACnD,OAAM;IACV,CAAC;IACD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,oBAAQ,CAAC,EAAE;YACd,MAAM,IAAA,sCAAoB,EAAC,CAAC,CAAC,CAAA;YAC7B,MAAK;QACP,KAAK,oBAAQ,CAAC,EAAE;YACd,MAAM,IAAA,yCAAqB,EAAC,CAAC,CAAC,CAAA;YAC9B,MAAK;QACP,KAAK,oBAAQ,CAAC,EAAE;YACd,MAAM,IAAA,2CAAsB,EAAC,CAAC,CAAC,CAAA;YAC/B,MAAK;QACP;YACE,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACxC,CAAC;AACH,CAAC,CAAC,CAAA"}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const builder_1 = require("../../cmd/builder");
|
4
|
+
const errors_1 = require("../../errors");
|
5
|
+
const mapIdReg = /^[a-fA-F0-9]{1,6}$/;
|
6
|
+
exports.default = () => new builder_1.CommandBuilder()
|
7
|
+
.setName('id') // <mapId:string>
|
8
|
+
.addAlias('/id')
|
9
|
+
.addAlias('bbid')
|
10
|
+
.addAlias('/bbid')
|
11
|
+
.addAlias('!bsr')
|
12
|
+
// .shortcut(/(^[0-9a-fA-F]{3,5}$)/, { args: ['$1'] })
|
13
|
+
.setDescription('clear an auth account relate info')
|
14
|
+
.setExecutor(async (c) => {
|
15
|
+
if (!c.input || (c.input && c.input.length < 1)) {
|
16
|
+
return;
|
17
|
+
}
|
18
|
+
if (!mapIdReg.test(c.input)) {
|
19
|
+
throw new errors_1.InvalidMapIdError({ input: c.input });
|
20
|
+
}
|
21
|
+
const res = await c.api.BeatSaver.wrapperResult().searchMapById(c.input);
|
22
|
+
if (!res.isSuccess()) {
|
23
|
+
throw new errors_1.MapIdNotFoundError({ input: c.input });
|
24
|
+
}
|
25
|
+
const onStartRender = () => {
|
26
|
+
c.session.send(c.session.text('common.render.wait', {
|
27
|
+
sec: c.config.rankWaitTimeout / 1000,
|
28
|
+
}));
|
29
|
+
};
|
30
|
+
const image = await c.render.renderMap(res.data, onStartRender);
|
31
|
+
// upload to s3?
|
32
|
+
await c.session.send(image);
|
33
|
+
await c.session.sendAudioByUrl(res.data.versions[0].previewURL);
|
34
|
+
});
|
35
|
+
//# sourceMappingURL=id-search.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"id-search.js","sourceRoot":"","sources":["../../../src/cmd/bsmap/id-search.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAC9C,qCAAgE;AAEhE,MAAM,QAAQ,GAAG,oBAAoB,CAAA;AACrC,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB;KAC/B,QAAQ,CAAC,KAAK,CAAC;KACf,QAAQ,CAAC,MAAM,CAAC;KAChB,QAAQ,CAAC,OAAO,CAAC;KACjB,QAAQ,CAAC,MAAM,CAAC;IACjB,sDAAsD;KACrD,cAAc,CAAC,mCAAmC,CAAC;KACnD,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAChD,OAAM;IACR,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,0BAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAExE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,2BAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,CAAC,CAAC,OAAO,CAAC,IAAI,CACZ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACnC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI;SACrC,CAAC,CACH,CAAA;IACH,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IAC/D,gBAAgB;IAChB,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3B,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;AACjE,CAAC,CAAC,CAAA"}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const builder_1 = require("../../cmd/builder");
|
4
|
+
exports.default = () => new builder_1.CommandBuilder()
|
5
|
+
.setName('search') // <key:text>
|
6
|
+
.addAlias('bbsou')
|
7
|
+
.addAlias('bbsearch')
|
8
|
+
.addAlias('bbmap')
|
9
|
+
.setDescription('clear an auth account relate info')
|
10
|
+
.setExecutor(async (c) => {
|
11
|
+
let key = c.input;
|
12
|
+
if (key.length > 15) {
|
13
|
+
key = key.slice(0, 15);
|
14
|
+
c.session.sendQuote(c.session.text('commands.bsbot.search.too-long-key', { key }));
|
15
|
+
}
|
16
|
+
const res = await c.api.BeatSaver.wrapperResult().searchMapByKeyword(key);
|
17
|
+
if (!res.isSuccess()) {
|
18
|
+
c.session.sendQuote(c.session.text('commands.bsbot.search.not-found', { key }));
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
const onStartRender = () => {
|
22
|
+
c.session.send(c.session.text('common.render.wait', {
|
23
|
+
sec: c.config.rankWaitTimeout / 1000,
|
24
|
+
}));
|
25
|
+
};
|
26
|
+
const toBeSend = res.data.slice(0, 3).map((it) => ({
|
27
|
+
img: c.render.renderMap(it, onStartRender),
|
28
|
+
bsmap: it,
|
29
|
+
}));
|
30
|
+
const text = c.session.text('commands.bsbot.search.success', {
|
31
|
+
key: key,
|
32
|
+
length: toBeSend.length,
|
33
|
+
});
|
34
|
+
c.session.sendQuote(text);
|
35
|
+
// consider merge maps image
|
36
|
+
// for (const item of toBeSend) {
|
37
|
+
// session.sendQueued(await item.img)
|
38
|
+
// session.sendQueued(h.audio(item.bsmap.versions[0].previewURL))
|
39
|
+
// }
|
40
|
+
});
|
41
|
+
//# sourceMappingURL=key-search.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"key-search.js","sourceRoot":"","sources":["../../../src/cmd/bsmap/key-search.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAgB9C,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa;KAC/B,QAAQ,CAAC,OAAO,CAAC;KACjB,QAAQ,CAAC,UAAU,CAAC;KACpB,QAAQ,CAAC,OAAO,CAAC;KACjB,cAAc,CAAC,mCAAmC,CAAC;KACnD,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAA;IACjB,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACpB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACtB,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,CAAC,CAC9D,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACzE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;QACrB,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,CAAC,CAC3D,CAAA;QACD,OAAM;IACR,CAAC;IACD,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,CAAC,CAAC,OAAO,CAAC,IAAI,CACZ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACnC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI;SACrC,CAAC,CACH,CAAA;IACH,CAAC,CAAA;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACjD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,aAAa,CAAC;QAC1C,KAAK,EAAE,EAAE;KACV,CAAC,CAAC,CAAA;IACH,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE;QAC3D,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAA;IACF,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAEzB,4BAA4B;IAC5B,iCAAiC;IACjC,uCAAuC;IACvC,mEAAmE;IACnE,IAAI;AACN,CAAC,CAAC,CAAA"}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const builder_1 = require("../../cmd/builder");
|
4
|
+
exports.default = () => new builder_1.CommandBuilder()
|
5
|
+
.setName('latest')
|
6
|
+
.addAlias('bbnew')
|
7
|
+
.addAlias('bblatest')
|
8
|
+
.setDescription('clear an auth account relate info')
|
9
|
+
.setExecutor(async (c) => {
|
10
|
+
const res = await c.api.BeatSaver.wrapperResult()
|
11
|
+
.withRetry(3)
|
12
|
+
.getLatestMaps(3);
|
13
|
+
if (!res.isSuccess()) {
|
14
|
+
c.logger.info(`fetch new failed, msg: ${res.msg}`);
|
15
|
+
c.session.sendQueued(c.session.text('commands.bsbot.latest.unknown-error'));
|
16
|
+
return;
|
17
|
+
}
|
18
|
+
const text = c.session.text('commands.bsbot.latest.info');
|
19
|
+
// const onStartRender = () => {
|
20
|
+
// c.session.send(
|
21
|
+
// c.session.text('common.render.wait', {
|
22
|
+
// sec: c.config.rankWaitTimeout / 1000,
|
23
|
+
// })
|
24
|
+
// )
|
25
|
+
// }
|
26
|
+
await c.session.sendQuote(text);
|
27
|
+
const msgs = res.data.map((item) => ({
|
28
|
+
audio: item.versions[0].previewURL,
|
29
|
+
image: c.render.renderMap(item),
|
30
|
+
}));
|
31
|
+
for (const msg of msgs) {
|
32
|
+
await c.session.sendQueued(await msg.image);
|
33
|
+
await c.session.sendAudioByUrl(msg.audio);
|
34
|
+
}
|
35
|
+
});
|
36
|
+
//# sourceMappingURL=latest.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"latest.js","sourceRoot":"","sources":["../../../src/cmd/bsmap/latest.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAE9C,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,QAAQ,CAAC;KACjB,QAAQ,CAAC,OAAO,CAAC;KACjB,QAAQ,CAAC,UAAU,CAAC;KACpB,cAAc,CAAC,mCAAmC,CAAC;KACnD,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE;SAC9C,SAAS,CAAC,CAAC,CAAC;SACZ,aAAa,CAAC,CAAC,CAAC,CAAA;IAEnB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;QACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;QAClD,CAAC,CAAC,OAAO,CAAC,UAAU,CAClB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CACtD,CAAA;QACD,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IACzD,gCAAgC;IAChC,oBAAoB;IACpB,6CAA6C;IAC7C,8CAA8C;IAC9C,SAAS;IACT,MAAM;IACN,IAAI;IACJ,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU;QAClC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;KAChC,CAAC,CAAC,CAAA;IACH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAA;QAC3C,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC,CAAC,CAAA"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { CmdAlias, CmdExecutor, CmdOption } from '../interface/cmd';
|
2
|
+
type Extend<BASE extends {}, N extends string, D> = {
|
3
|
+
[P in N | keyof BASE]?: (P extends keyof BASE ? BASE[P] : unknown) & (P extends N ? D : unknown);
|
4
|
+
};
|
5
|
+
type ExtractType<T extends string> = T extends 'string' ? string : T extends 'boolean' ? boolean : T extends 'number' ? number : any;
|
6
|
+
type Nullable<T> = T | null;
|
7
|
+
type ExtractNullSafeType<T extends string> = T extends `${infer Type}?` ? Nullable<ExtractType<Type>> : ExtractType<T>;
|
8
|
+
type OptionType<T extends string> = T extends `${infer L}:${infer R}` ? ExtractNullSafeType<R> : unknown;
|
9
|
+
export declare class CommandBuilder<CHANNEL, OPT extends {} = {}> {
|
10
|
+
private name;
|
11
|
+
private description;
|
12
|
+
private options;
|
13
|
+
private aliases;
|
14
|
+
addOption<N extends string, D extends string>(name: N, description: D): CommandBuilder<CHANNEL, Extend<OPT, N, OptionType<D>>>;
|
15
|
+
addAlias(alias: string, option?: object): this;
|
16
|
+
setName<T extends string>(name: T): this;
|
17
|
+
setDescription(description: string): this;
|
18
|
+
setExecutor(executor: CmdExecutor<CHANNEL, OPT>): {
|
19
|
+
name: string;
|
20
|
+
description: string;
|
21
|
+
aliases: CmdAlias[];
|
22
|
+
options: CmdOption[];
|
23
|
+
callback: CmdExecutor<CHANNEL, OPT>;
|
24
|
+
children: any[];
|
25
|
+
};
|
26
|
+
}
|
27
|
+
export {};
|
@@ -0,0 +1,41 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.CommandBuilder = void 0;
|
4
|
+
class CommandBuilder {
|
5
|
+
name;
|
6
|
+
description;
|
7
|
+
options = [];
|
8
|
+
aliases = [];
|
9
|
+
addOption(name, description) {
|
10
|
+
this.options.push({
|
11
|
+
name: name,
|
12
|
+
description: description,
|
13
|
+
type: 'string',
|
14
|
+
});
|
15
|
+
return this;
|
16
|
+
}
|
17
|
+
addAlias(alias, option) {
|
18
|
+
this.aliases.push({ alias, option });
|
19
|
+
return this;
|
20
|
+
}
|
21
|
+
setName(name) {
|
22
|
+
this.name = name;
|
23
|
+
return this;
|
24
|
+
}
|
25
|
+
setDescription(description) {
|
26
|
+
this.description = description;
|
27
|
+
return this;
|
28
|
+
}
|
29
|
+
setExecutor(executor) {
|
30
|
+
return {
|
31
|
+
name: this.name,
|
32
|
+
description: this.description,
|
33
|
+
aliases: this.aliases,
|
34
|
+
options: this.options,
|
35
|
+
callback: executor,
|
36
|
+
children: [],
|
37
|
+
};
|
38
|
+
}
|
39
|
+
}
|
40
|
+
exports.CommandBuilder = CommandBuilder;
|
41
|
+
//# sourceMappingURL=builder.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/cmd/builder.ts"],"names":[],"mappings":";;;AA0BA,MAAa,cAAc;IACjB,IAAI,CAAQ;IACZ,WAAW,CAAQ;IACnB,OAAO,GAAgB,EAAE,CAAA;IACzB,OAAO,GAAe,EAAE,CAAA;IAChC,SAAS,CAAqC,IAAO,EAAE,WAAc;QACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QACF,OAAO,IAA8D,CAAA;IACvE,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,MAAe;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CAAmB,IAAO;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,cAAc,CAAC,WAAmB;QAChC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,WAAW,CAAC,QAAmC;QAC7C,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,EAAE;SACb,CAAA;IACH,CAAC;CACF;AApCD,wCAoCC"}
|