beatsaber-bot-core 0.2.0-rc.9 → 0.3.0-rc.1
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 +2 -2
- package/dist/cjs/cmd/bind/bind-beatleader.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-beatsaver.js +2 -2
- package/dist/cjs/cmd/bind/bind-beatsaver.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-id-beatleader.js +3 -3
- package/dist/cjs/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-id-beatsaver.js +3 -3
- package/dist/cjs/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-scoresaber.js +3 -3
- package/dist/cjs/cmd/bind/bind-scoresaber.js.map +1 -1
- package/dist/cjs/cmd/bind/index.js +12 -12
- package/dist/cjs/cmd/bind/index.js.map +1 -1
- package/dist/cjs/cmd/bsmap/id-search.js +3 -3
- package/dist/cjs/cmd/bsmap/id-search.js.map +1 -1
- package/dist/cjs/cmd/bsmap/key-search.js +2 -2
- package/dist/cjs/cmd/bsmap/key-search.js.map +1 -1
- package/dist/cjs/cmd/bsmap/latest.js +2 -2
- package/dist/cjs/cmd/bsmap/latest.js.map +1 -1
- package/dist/cjs/cmd/deprecated/tmp.js +4 -4
- package/dist/cjs/cmd/deprecated/tmp.js.map +1 -1
- package/dist/cjs/cmd/index.js +11 -11
- package/dist/cjs/cmd/index.js.map +1 -1
- package/dist/cjs/cmd/rank.js +8 -8
- package/dist/cjs/cmd/rank.js.map +1 -1
- package/dist/cjs/cmd/score.js +16 -20
- package/dist/cjs/cmd/score.js.map +1 -1
- package/dist/cjs/cmd/subscribe/beatleader.js +3 -3
- package/dist/cjs/cmd/subscribe/beatleader.js.map +1 -1
- package/dist/cjs/cmd/subscribe/beatsaver.js +3 -3
- package/dist/cjs/cmd/subscribe/beatsaver.js.map +1 -1
- package/dist/cjs/cmd/subscribe/id-beatleader-score.js +4 -4
- package/dist/cjs/cmd/subscribe/id-beatleader-score.js.map +1 -1
- package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js +4 -4
- package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
- package/dist/cjs/cmd/subscribe/index.js +8 -8
- package/dist/cjs/cmd/subscribe/index.js.map +1 -1
- package/dist/cjs/cmd/subscribe/subjoin.js +6 -6
- package/dist/cjs/cmd/subscribe/subjoin.js.map +1 -1
- package/dist/cjs/cmd/subscribe/subleave.js +6 -6
- package/dist/cjs/cmd/subscribe/subleave.js.map +1 -1
- package/dist/cjs/cmd/subscribe/unsubscribe.js +8 -8
- package/dist/cjs/cmd/subscribe/unsubscribe.js.map +1 -1
- package/dist/cjs/common/cache.js.map +1 -0
- package/dist/cjs/common/fetch/error.js.map +1 -0
- package/dist/cjs/{infra/support → common}/fetch/index.js +16 -14
- package/dist/cjs/common/fetch/index.js.map +1 -0
- package/dist/cjs/{infra/support → common}/fetch/ofetch.js +5 -12
- package/dist/cjs/common/fetch/ofetch.js.map +1 -0
- package/dist/cjs/common/i18n/index.js +55 -0
- package/dist/cjs/common/i18n/index.js.map +1 -0
- package/dist/cjs/common/i18n/parser.js.map +1 -0
- package/dist/cjs/{infra/i18n/index.js → common/i18n/util.js} +10 -71
- package/dist/cjs/common/i18n/util.js.map +1 -0
- package/dist/cjs/{infra/support → common}/render/index.js +55 -15
- package/dist/cjs/common/render/index.js.map +1 -0
- package/dist/cjs/common/render/puppeteer.js.map +1 -0
- package/dist/cjs/{infra → common}/s3/index.js +34 -13
- package/dist/cjs/common/s3/index.js.map +1 -0
- package/dist/cjs/components/components/RankDifficulty.js +60 -84
- package/dist/cjs/components/components/RankDifficulty.js.map +1 -1
- package/dist/cjs/components/components/base/avatar.js +1 -2
- package/dist/cjs/components/components/base/avatar.js.map +1 -1
- package/dist/cjs/components/components/bl-rank-score-item.js +25 -87
- package/dist/cjs/components/components/bl-rank-score-item.js.map +1 -1
- package/dist/cjs/components/components/bl-score-item.js +28 -69
- package/dist/cjs/components/components/bl-score-item.js.map +1 -1
- package/dist/cjs/components/components/characteristic.js +106 -118
- package/dist/cjs/components/components/characteristic.js.map +1 -1
- package/dist/cjs/components/components/flag.js +6 -14
- package/dist/cjs/components/components/flag.js.map +1 -1
- package/dist/cjs/components/components/icons/BeatLeader.js +55 -71
- package/dist/cjs/components/components/icons/BeatLeader.js.map +1 -1
- package/dist/cjs/components/components/icons/RankIcon.js +3 -7
- package/dist/cjs/components/components/icons/RankIcon.js.map +1 -1
- package/dist/cjs/components/components/icons/ScoreSaberIcon.js +276 -312
- package/dist/cjs/components/components/icons/ScoreSaberIcon.js.map +1 -1
- package/dist/cjs/components/components/progressbar.js +12 -2
- package/dist/cjs/components/components/progressbar.js.map +1 -1
- package/dist/cjs/components/components/scoreItem.js +26 -63
- package/dist/cjs/components/components/scoreItem.js.map +1 -1
- package/dist/cjs/components/components/scoregraph.js +4 -5
- package/dist/cjs/components/components/scoregraph.js.map +1 -1
- package/dist/cjs/components/components/skill-graph.js +147 -164
- package/dist/cjs/components/components/skill-graph.js.map +1 -1
- package/dist/cjs/components/components/socre-badge.js +7 -10
- package/dist/cjs/components/components/socre-badge.js.map +1 -1
- package/dist/cjs/components/components/ss-rank-score-item.js +25 -87
- package/dist/cjs/components/components/ss-rank-score-item.js.map +1 -1
- package/dist/cjs/components/components/ss-score-item.js +38 -65
- package/dist/cjs/components/components/ss-score-item.js.map +1 -1
- package/dist/cjs/components/index.js +3 -43
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/pages/bl-player.js +91 -136
- package/dist/cjs/components/pages/bl-player.js.map +1 -1
- package/dist/cjs/components/pages/bl-score-with-rank.js +114 -221
- package/dist/cjs/components/pages/bl-score-with-rank.js.map +1 -1
- package/dist/cjs/components/pages/bl-score.js +67 -169
- package/dist/cjs/components/pages/bl-score.js.map +1 -1
- package/dist/cjs/components/pages/bs-map.js +95 -166
- package/dist/cjs/components/pages/bs-map.js.map +1 -1
- package/dist/cjs/components/pages/index.js +26 -26
- package/dist/cjs/components/pages/index.js.map +1 -1
- package/dist/cjs/components/pages/ss-player.js +48 -77
- package/dist/cjs/components/pages/ss-player.js.map +1 -1
- package/dist/cjs/components/utils/bl/bsorReplayAcc.js +2 -2
- package/dist/cjs/components/utils/bl/bsorReplayAcc.js.map +1 -1
- package/dist/cjs/components/utils/bl/getPart.js.map +1 -1
- package/dist/cjs/components/utils/bl/stastic.js.map +1 -1
- package/dist/cjs/components/utils/format.js +3 -3
- package/dist/cjs/components/utils/format.js.map +1 -1
- package/dist/cjs/components/utils/getMods.js.map +1 -1
- package/dist/cjs/components/utils/index.js +4 -4
- package/dist/cjs/config.js +40 -0
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/{interface → core}/cmd/builder.js +5 -5
- package/dist/cjs/core/cmd/builder.js.map +1 -0
- package/dist/cjs/core/cmd/type.js.map +1 -0
- package/dist/cjs/core/domain.js +16 -0
- package/dist/cjs/core/domain.js.map +1 -0
- package/dist/cjs/core/error.js +38 -0
- package/dist/cjs/core/error.js.map +1 -0
- package/dist/cjs/{interface/bot.js → core/event.js} +3 -3
- package/dist/cjs/core/event.js.map +1 -0
- package/dist/cjs/core/index.js +39 -0
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/core/logger.js.map +1 -0
- package/dist/cjs/core/session.js +16 -0
- package/dist/cjs/core/session.js.map +1 -0
- package/dist/cjs/{schedules → events/schedules}/index.js +4 -3
- package/dist/cjs/events/schedules/index.js.map +1 -0
- package/dist/cjs/{schedules → events/schedules}/temp.js +7 -3
- package/dist/cjs/events/schedules/temp.js.map +1 -0
- package/dist/cjs/{ws → events/ws}/beatleader.js +6 -6
- package/dist/cjs/events/ws/beatleader.js.map +1 -0
- package/dist/cjs/{ws → events/ws}/beatsaver.js +11 -11
- package/dist/cjs/events/ws/beatsaver.js.map +1 -0
- package/dist/cjs/events/ws/handler.js.map +1 -0
- package/dist/cjs/{ws → events/ws}/index.js +6 -8
- package/dist/cjs/events/ws/index.js.map +1 -0
- package/dist/cjs/index.js +27 -18
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interface/db/index.js +0 -6
- package/dist/cjs/interface/db/index.js.map +1 -1
- package/dist/cjs/interface/db/models.js.map +1 -1
- package/dist/cjs/interface/index.js +12 -21
- package/dist/cjs/interface/index.js.map +1 -1
- package/dist/cjs/{service → services}/api/base/aioclient.js +1 -1
- package/dist/cjs/services/api/base/aioclient.js.map +1 -0
- package/dist/cjs/{service → services}/api/base/blclient.js +1 -1
- package/dist/cjs/services/api/base/blclient.js.map +1 -0
- package/dist/cjs/{service → services}/api/base/bsclient.js +2 -2
- package/dist/cjs/services/api/base/bsclient.js.map +1 -0
- package/dist/cjs/{service → services}/api/base/index.js +8 -8
- package/dist/cjs/services/api/base/index.js.map +1 -0
- package/dist/cjs/{service → services}/api/base/ssclient.js +2 -2
- package/dist/cjs/services/api/base/ssclient.js.map +1 -0
- package/dist/cjs/{service → services}/api/index.js +17 -9
- package/dist/cjs/services/api/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/aiosaber/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/bsor.js.map +1 -0
- package/dist/cjs/{service → services}/api/interfaces/beatleader/index.js +10 -10
- package/dist/cjs/services/api/interfaces/beatleader/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/req.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/score.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/user.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/ws.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/alert.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/bsmap.js.map +1 -0
- package/dist/cjs/{service → services}/api/interfaces/beatsaver/index.js +10 -10
- package/dist/cjs/services/api/interfaces/beatsaver/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/resp.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/user.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/ws.js.map +1 -0
- package/dist/cjs/services/api/interfaces/index.js.map +1 -0
- package/dist/cjs/{service → services}/api/interfaces/scoresaber/index.js +6 -6
- package/dist/cjs/services/api/interfaces/scoresaber/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/item.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/leaderboard.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/resp.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/user.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/ws.js.map +1 -0
- package/dist/cjs/services/api/sortScore.js.map +1 -0
- package/dist/cjs/{infra → services}/errors/index.js +21 -38
- package/dist/cjs/services/errors/index.js.map +1 -0
- package/dist/cjs/services/i18n/index.js +43 -0
- package/dist/cjs/services/i18n/index.js.map +1 -0
- package/dist/cjs/{infra → services}/i18n/zh-cn.json +1 -1
- package/dist/cjs/{infra → services}/index.js +12 -9
- package/dist/cjs/services/index.js.map +1 -0
- package/dist/cjs/services/preference.js.map +1 -0
- package/dist/cjs/{service → services}/render/index.js +36 -13
- package/dist/cjs/services/render/index.js.map +1 -0
- package/dist/cjs/utils/bsorDecoder.js +329 -0
- package/dist/cjs/utils/bsorDecoder.js.map +1 -0
- package/dist/cjs/utils/index.js +6 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/platform.js +38 -0
- package/dist/cjs/utils/platform.js.map +1 -0
- package/dist/esm/cmd/bind/bind-beatleader.js +2 -2
- package/dist/esm/cmd/bind/bind-beatleader.js.map +1 -1
- package/dist/esm/cmd/bind/bind-beatsaver.js +2 -2
- package/dist/esm/cmd/bind/bind-beatsaver.js.map +1 -1
- package/dist/esm/cmd/bind/bind-id-beatleader.js +3 -3
- package/dist/esm/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/dist/esm/cmd/bind/bind-id-beatsaver.js +3 -3
- package/dist/esm/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/dist/esm/cmd/bind/bind-scoresaber.js +3 -3
- package/dist/esm/cmd/bind/bind-scoresaber.js.map +1 -1
- package/dist/esm/cmd/bind/index.js +5 -5
- package/dist/esm/cmd/bind/index.js.map +1 -1
- package/dist/esm/cmd/bsmap/id-search.js +2 -2
- package/dist/esm/cmd/bsmap/id-search.js.map +1 -1
- package/dist/esm/cmd/bsmap/key-search.js +1 -1
- package/dist/esm/cmd/bsmap/key-search.js.map +1 -1
- package/dist/esm/cmd/bsmap/latest.js +2 -2
- package/dist/esm/cmd/bsmap/latest.js.map +1 -1
- package/dist/esm/cmd/deprecated/tmp.js +3 -3
- package/dist/esm/cmd/deprecated/tmp.js.map +1 -1
- package/dist/esm/cmd/index.js +11 -11
- package/dist/esm/cmd/index.js.map +1 -1
- package/dist/esm/cmd/rank.js +5 -5
- package/dist/esm/cmd/rank.js.map +1 -1
- package/dist/esm/cmd/score.js +13 -17
- package/dist/esm/cmd/score.js.map +1 -1
- package/dist/esm/cmd/subscribe/beatleader.js +3 -3
- package/dist/esm/cmd/subscribe/beatleader.js.map +1 -1
- package/dist/esm/cmd/subscribe/beatsaver.js +3 -3
- package/dist/esm/cmd/subscribe/beatsaver.js.map +1 -1
- package/dist/esm/cmd/subscribe/id-beatleader-score.js +4 -4
- package/dist/esm/cmd/subscribe/id-beatleader-score.js.map +1 -1
- package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js +4 -4
- package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
- package/dist/esm/cmd/subscribe/index.js +7 -7
- package/dist/esm/cmd/subscribe/index.js.map +1 -1
- package/dist/esm/cmd/subscribe/subjoin.js +5 -5
- package/dist/esm/cmd/subscribe/subjoin.js.map +1 -1
- package/dist/esm/cmd/subscribe/subleave.js +5 -5
- package/dist/esm/cmd/subscribe/subleave.js.map +1 -1
- package/dist/esm/cmd/subscribe/unsubscribe.js +7 -7
- package/dist/esm/cmd/subscribe/unsubscribe.js.map +1 -1
- package/dist/esm/common/cache.js.map +1 -0
- package/dist/esm/common/fetch/error.js.map +1 -0
- package/dist/esm/common/fetch/index.js +35 -0
- package/dist/esm/common/fetch/index.js.map +1 -0
- package/dist/esm/{infra/support → common}/fetch/ofetch.js +4 -10
- package/dist/esm/common/fetch/ofetch.js.map +1 -0
- package/dist/esm/common/i18n/index.js +32 -0
- package/dist/esm/common/i18n/index.js.map +1 -0
- package/dist/esm/common/i18n/parser.js.map +1 -0
- package/dist/esm/{infra/i18n/index.js → common/i18n/util.js} +4 -56
- package/dist/esm/common/i18n/util.js.map +1 -0
- package/dist/esm/{infra/support → common}/render/index.js +53 -13
- package/dist/esm/common/render/index.js.map +1 -0
- package/dist/esm/common/render/puppeteer.js.map +1 -0
- package/dist/esm/{infra → common}/s3/index.js +32 -12
- package/dist/esm/common/s3/index.js.map +1 -0
- package/dist/esm/components/components/RankDifficulty.js +60 -84
- package/dist/esm/components/components/RankDifficulty.js.map +1 -1
- package/dist/esm/components/components/base/avatar.js +1 -2
- package/dist/esm/components/components/base/avatar.js.map +1 -1
- package/dist/esm/components/components/bl-rank-score-item.js +25 -87
- package/dist/esm/components/components/bl-rank-score-item.js.map +1 -1
- package/dist/esm/components/components/bl-score-item.js +28 -69
- package/dist/esm/components/components/bl-score-item.js.map +1 -1
- package/dist/esm/components/components/characteristic.js +106 -118
- package/dist/esm/components/components/characteristic.js.map +1 -1
- package/dist/esm/components/components/flag.js +6 -14
- package/dist/esm/components/components/flag.js.map +1 -1
- package/dist/esm/components/components/icons/BeatLeader.js +55 -71
- package/dist/esm/components/components/icons/BeatLeader.js.map +1 -1
- package/dist/esm/components/components/icons/RankIcon.js +3 -7
- package/dist/esm/components/components/icons/RankIcon.js.map +1 -1
- package/dist/esm/components/components/icons/ScoreSaberIcon.js +276 -312
- package/dist/esm/components/components/icons/ScoreSaberIcon.js.map +1 -1
- package/dist/esm/components/components/progressbar.js +2 -2
- package/dist/esm/components/components/progressbar.js.map +1 -1
- package/dist/esm/components/components/scoreItem.js +26 -63
- package/dist/esm/components/components/scoreItem.js.map +1 -1
- package/dist/esm/components/components/scoregraph.js +4 -5
- package/dist/esm/components/components/scoregraph.js.map +1 -1
- package/dist/esm/components/components/skill-graph.js +147 -164
- package/dist/esm/components/components/skill-graph.js.map +1 -1
- package/dist/esm/components/components/socre-badge.js +7 -10
- package/dist/esm/components/components/socre-badge.js.map +1 -1
- package/dist/esm/components/components/ss-rank-score-item.js +25 -87
- package/dist/esm/components/components/ss-rank-score-item.js.map +1 -1
- package/dist/esm/components/components/ss-score-item.js +28 -65
- package/dist/esm/components/components/ss-score-item.js.map +1 -1
- package/dist/esm/components/index.js +3 -43
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/pages/bl-player.js +91 -136
- package/dist/esm/components/pages/bl-player.js.map +1 -1
- package/dist/esm/components/pages/bl-score-with-rank.js +114 -221
- package/dist/esm/components/pages/bl-score-with-rank.js.map +1 -1
- package/dist/esm/components/pages/bl-score.js +67 -169
- package/dist/esm/components/pages/bl-score.js.map +1 -1
- package/dist/esm/components/pages/bs-map.js +95 -166
- package/dist/esm/components/pages/bs-map.js.map +1 -1
- package/dist/esm/components/pages/index.js +21 -21
- package/dist/esm/components/pages/index.js.map +1 -1
- package/dist/esm/components/pages/ss-player.js +48 -77
- package/dist/esm/components/pages/ss-player.js.map +1 -1
- package/dist/esm/components/utils/bl/bsorReplayAcc.js +2 -2
- package/dist/esm/components/utils/bl/bsorReplayAcc.js.map +1 -1
- package/dist/esm/components/utils/bl/getPart.js.map +1 -1
- package/dist/esm/components/utils/bl/stastic.js.map +1 -1
- package/dist/esm/components/utils/format.js +3 -3
- package/dist/esm/components/utils/format.js.map +1 -1
- package/dist/esm/components/utils/getMods.js.map +1 -1
- package/dist/esm/components/utils/index.js +2 -2
- package/dist/esm/config.js +32 -0
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/{interface → core}/cmd/builder.js +4 -4
- package/dist/esm/core/cmd/builder.js.map +1 -0
- package/dist/esm/core/domain.js +1 -0
- package/dist/esm/core/error.js +16 -0
- package/dist/esm/core/error.js.map +1 -0
- package/dist/esm/core/event.js +1 -0
- package/dist/esm/core/index.js +10 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/session.js +1 -0
- package/dist/esm/events/schedules/index.js +16 -0
- package/dist/esm/events/schedules/index.js.map +1 -0
- package/dist/esm/{schedules → events/schedules}/temp.js +7 -3
- package/dist/esm/events/schedules/temp.js.map +1 -0
- package/dist/esm/{ws → events/ws}/beatleader.js +6 -6
- package/dist/esm/events/ws/beatleader.js.map +1 -0
- package/dist/esm/{ws → events/ws}/beatsaver.js +11 -11
- package/dist/esm/events/ws/beatsaver.js.map +1 -0
- package/dist/esm/events/ws/index.js +4 -0
- package/dist/esm/events/ws/index.js.map +1 -0
- package/dist/esm/index.js +15 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interface/db/index.js +0 -1
- package/dist/esm/interface/db/index.js.map +1 -1
- package/dist/esm/interface/index.js +9 -15
- package/dist/esm/interface/index.js.map +1 -1
- package/dist/esm/{service → services}/api/base/aioclient.js +1 -1
- package/dist/esm/services/api/base/aioclient.js.map +1 -0
- package/dist/esm/{service → services}/api/base/blclient.js +1 -1
- package/dist/esm/services/api/base/blclient.js.map +1 -0
- package/dist/esm/{service → services}/api/base/bsclient.js +2 -2
- package/dist/esm/services/api/base/bsclient.js.map +1 -0
- package/dist/esm/services/api/base/index.js +5 -0
- package/dist/esm/services/api/base/index.js.map +1 -0
- package/dist/esm/{service → services}/api/base/ssclient.js +2 -2
- package/dist/esm/services/api/base/ssclient.js.map +1 -0
- package/dist/esm/{service → services}/api/index.js +16 -8
- package/dist/esm/services/api/index.js.map +1 -0
- package/dist/esm/services/api/interfaces/beatleader/index.js +6 -0
- package/dist/esm/services/api/interfaces/beatleader/index.js.map +1 -0
- package/dist/esm/services/api/interfaces/beatsaver/index.js +6 -0
- package/dist/esm/services/api/interfaces/beatsaver/index.js.map +1 -0
- package/dist/esm/services/api/interfaces/scoresaber/index.js +4 -0
- package/dist/esm/services/api/interfaces/scoresaber/index.js.map +1 -0
- package/dist/esm/services/api/sortScore.js.map +1 -0
- package/dist/esm/{infra → services}/errors/index.js +1 -17
- package/dist/esm/services/errors/index.js.map +1 -0
- package/dist/esm/services/i18n/index.js +21 -0
- package/dist/esm/services/i18n/index.js.map +1 -0
- package/dist/esm/services/index.js +9 -0
- package/dist/esm/services/index.js.map +1 -0
- package/dist/esm/services/preference.js.map +1 -0
- package/dist/esm/{service → services}/render/index.js +34 -11
- package/dist/esm/services/render/index.js.map +1 -0
- package/dist/esm/utils/bsorDecoder.js +301 -0
- package/dist/esm/utils/bsorDecoder.js.map +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/platform.js +14 -0
- package/dist/esm/utils/platform.js.map +1 -0
- package/dist/types/index.d.ts +1376 -48
- package/package.json +19 -10
- package/dist/cjs/components/utils/canvas.js +0 -2
- package/dist/cjs/components/utils/canvas.js.map +0 -1
- package/dist/cjs/infra/errors/index.js.map +0 -1
- package/dist/cjs/infra/i18n/index.js.map +0 -1
- package/dist/cjs/infra/i18n/parser.js.map +0 -1
- package/dist/cjs/infra/index.js.map +0 -1
- package/dist/cjs/infra/s3/index.js.map +0 -1
- package/dist/cjs/infra/support/cache.js.map +0 -1
- package/dist/cjs/infra/support/fetch/error.js.map +0 -1
- package/dist/cjs/infra/support/fetch/index.js.map +0 -1
- package/dist/cjs/infra/support/fetch/ofetch.js.map +0 -1
- package/dist/cjs/infra/support/render/index.js.map +0 -1
- package/dist/cjs/infra/support/render/puppeteer.js.map +0 -1
- package/dist/cjs/interface/bot.js.map +0 -1
- package/dist/cjs/interface/cmd/builder.js.map +0 -1
- package/dist/cjs/interface/cmd/type.js.map +0 -1
- package/dist/cjs/interface/logger.js.map +0 -1
- package/dist/cjs/schedules/index.js.map +0 -1
- package/dist/cjs/schedules/interface.js +0 -16
- package/dist/cjs/schedules/interface.js.map +0 -1
- package/dist/cjs/schedules/temp.js.map +0 -1
- package/dist/cjs/service/api/base/aioclient.js.map +0 -1
- package/dist/cjs/service/api/base/blclient.js.map +0 -1
- package/dist/cjs/service/api/base/bsclient.js.map +0 -1
- package/dist/cjs/service/api/base/index.js.map +0 -1
- package/dist/cjs/service/api/base/ssclient.js.map +0 -1
- package/dist/cjs/service/api/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/aiosaber/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/bsor.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/req.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/score.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/user.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/ws.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/alert.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/bsmap.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/resp.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/user.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/ws.js.map +0 -1
- package/dist/cjs/service/api/interfaces/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/item.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/leaderboard.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/resp.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/user.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/ws.js.map +0 -1
- package/dist/cjs/service/api/sortScore.js.map +0 -1
- package/dist/cjs/service/index.js +0 -16
- package/dist/cjs/service/index.js.map +0 -1
- package/dist/cjs/service/preference.js.map +0 -1
- package/dist/cjs/service/render/index.js.map +0 -1
- package/dist/cjs/service/render/interfaces.js +0 -16
- package/dist/cjs/service/render/interfaces.js.map +0 -1
- package/dist/cjs/ws/beatleader.js.map +0 -1
- package/dist/cjs/ws/beatsaver.js.map +0 -1
- package/dist/cjs/ws/bl-filter.js +0 -1
- package/dist/cjs/ws/handler.js.map +0 -1
- package/dist/cjs/ws/index.js.map +0 -1
- package/dist/cjs/ws/scoresaber.js +0 -75
- package/dist/cjs/ws/scoresaber.js.map +0 -1
- package/dist/esm/components/utils/canvas.js +0 -2
- package/dist/esm/components/utils/canvas.js.map +0 -1
- package/dist/esm/infra/errors/index.js.map +0 -1
- package/dist/esm/infra/i18n/index.js.map +0 -1
- package/dist/esm/infra/i18n/parser.js.map +0 -1
- package/dist/esm/infra/index.js +0 -6
- package/dist/esm/infra/index.js.map +0 -1
- package/dist/esm/infra/s3/index.js.map +0 -1
- package/dist/esm/infra/support/cache.js.map +0 -1
- package/dist/esm/infra/support/fetch/error.js.map +0 -1
- package/dist/esm/infra/support/fetch/index.js +0 -33
- package/dist/esm/infra/support/fetch/index.js.map +0 -1
- package/dist/esm/infra/support/fetch/ofetch.js.map +0 -1
- package/dist/esm/infra/support/render/index.js.map +0 -1
- package/dist/esm/infra/support/render/puppeteer.js.map +0 -1
- package/dist/esm/interface/bot.js +0 -1
- package/dist/esm/interface/cmd/builder.js.map +0 -1
- package/dist/esm/schedules/index.js +0 -15
- package/dist/esm/schedules/index.js.map +0 -1
- package/dist/esm/schedules/interface.js +0 -1
- package/dist/esm/schedules/temp.js.map +0 -1
- package/dist/esm/service/api/base/aioclient.js.map +0 -1
- package/dist/esm/service/api/base/blclient.js.map +0 -1
- package/dist/esm/service/api/base/bsclient.js.map +0 -1
- package/dist/esm/service/api/base/index.js +0 -5
- package/dist/esm/service/api/base/index.js.map +0 -1
- package/dist/esm/service/api/base/ssclient.js.map +0 -1
- package/dist/esm/service/api/index.js.map +0 -1
- package/dist/esm/service/api/interfaces/beatleader/index.js +0 -6
- package/dist/esm/service/api/interfaces/beatleader/index.js.map +0 -1
- package/dist/esm/service/api/interfaces/beatsaver/index.js +0 -6
- package/dist/esm/service/api/interfaces/beatsaver/index.js.map +0 -1
- package/dist/esm/service/api/interfaces/scoresaber/index.js +0 -4
- package/dist/esm/service/api/interfaces/scoresaber/index.js.map +0 -1
- package/dist/esm/service/api/sortScore.js.map +0 -1
- package/dist/esm/service/index.js +0 -1
- package/dist/esm/service/index.js.map +0 -1
- package/dist/esm/service/preference.js.map +0 -1
- package/dist/esm/service/render/index.js.map +0 -1
- package/dist/esm/service/render/interfaces.js +0 -1
- package/dist/esm/service/render/interfaces.js.map +0 -1
- package/dist/esm/ws/beatleader.js.map +0 -1
- package/dist/esm/ws/beatsaver.js.map +0 -1
- package/dist/esm/ws/bl-filter.js +0 -1
- package/dist/esm/ws/bl-filter.js.map +0 -1
- package/dist/esm/ws/index.js +0 -5
- package/dist/esm/ws/index.js.map +0 -1
- package/dist/esm/ws/scoresaber.js +0 -53
- package/dist/esm/ws/scoresaber.js.map +0 -1
- package/dist/types/cmd/bind/bind-beatleader.d.ts +0 -34
- package/dist/types/cmd/bind/bind-beatsaver.d.ts +0 -34
- package/dist/types/cmd/bind/bind-id-beatleader.d.ts +0 -34
- package/dist/types/cmd/bind/bind-id-beatsaver.d.ts +0 -34
- package/dist/types/cmd/bind/bind-scoresaber.d.ts +0 -34
- package/dist/types/cmd/bind/index.d.ts +0 -41
- package/dist/types/cmd/bsmap/id-search.d.ts +0 -41
- package/dist/types/cmd/bsmap/key-search.d.ts +0 -41
- package/dist/types/cmd/bsmap/latest.d.ts +0 -41
- package/dist/types/cmd/config/index.d.ts +0 -2
- package/dist/types/cmd/deprecated/tmp.d.ts +0 -41
- package/dist/types/cmd/index.d.ts +0 -34
- package/dist/types/cmd/rank.d.ts +0 -41
- package/dist/types/cmd/score.d.ts +0 -41
- package/dist/types/cmd/subscribe/beatleader.d.ts +0 -34
- package/dist/types/cmd/subscribe/beatsaver.d.ts +0 -34
- package/dist/types/cmd/subscribe/id-beatleader-score.d.ts +0 -34
- package/dist/types/cmd/subscribe/id-beatsaver-mapper.d.ts +0 -34
- package/dist/types/cmd/subscribe/index.d.ts +0 -41
- package/dist/types/cmd/subscribe/subjoin.d.ts +0 -41
- package/dist/types/cmd/subscribe/subleave.d.ts +0 -41
- package/dist/types/cmd/subscribe/unsubscribe.d.ts +0 -41
- package/dist/types/components/components/RankDifficulty.d.ts +0 -10
- package/dist/types/components/components/base/avatar.d.ts +0 -10
- package/dist/types/components/components/bl-rank-score-item.d.ts +0 -21
- package/dist/types/components/components/bl-score-item.d.ts +0 -10
- package/dist/types/components/components/characteristic.d.ts +0 -9
- package/dist/types/components/components/flag.d.ts +0 -9
- package/dist/types/components/components/icons/BeatLeader.d.ts +0 -6
- package/dist/types/components/components/icons/RankIcon.d.ts +0 -8
- package/dist/types/components/components/icons/ScoreSaberIcon.d.ts +0 -6
- package/dist/types/components/components/progressbar.d.ts +0 -8
- package/dist/types/components/components/scoreItem.d.ts +0 -8
- package/dist/types/components/components/scoregraph.d.ts +0 -15
- package/dist/types/components/components/skill-graph.d.ts +0 -9
- package/dist/types/components/components/socre-badge.d.ts +0 -9
- package/dist/types/components/components/ss-rank-score-item.d.ts +0 -21
- package/dist/types/components/components/ss-score-item.d.ts +0 -8
- package/dist/types/components/index.d.ts +0 -5
- package/dist/types/components/pages/bl-player.d.ts +0 -11
- package/dist/types/components/pages/bl-score-with-rank.d.ts +0 -18
- package/dist/types/components/pages/bl-score.d.ts +0 -15
- package/dist/types/components/pages/bs-map.d.ts +0 -11
- package/dist/types/components/pages/index.d.ts +0 -14
- package/dist/types/components/pages/ss-player.d.ts +0 -13
- package/dist/types/components/utils/bl/beatleader.d.ts +0 -15
- package/dist/types/components/utils/bl/blheadset.d.ts +0 -275
- package/dist/types/components/utils/bl/bsorDecoder.d.ts +0 -189
- package/dist/types/components/utils/bl/bsorReplayAcc.d.ts +0 -38
- package/dist/types/components/utils/bl/getPart.d.ts +0 -9
- package/dist/types/components/utils/bl/stastic.d.ts +0 -3
- package/dist/types/components/utils/canvas.d.ts +0 -2
- package/dist/types/components/utils/format.d.ts +0 -8
- package/dist/types/components/utils/getMods.d.ts +0 -5
- package/dist/types/components/utils/index.d.ts +0 -6
- package/dist/types/components/utils/qrcode.d.ts +0 -3
- package/dist/types/components/utils/sleep.d.ts +0 -3
- package/dist/types/components/utils/tag-format.d.ts +0 -3
- package/dist/types/components/utils/tw-join.d.ts +0 -5
- package/dist/types/config.d.ts +0 -30
- package/dist/types/index-Dagy_c8G.d.ts +0 -74
- package/dist/types/infra/errors/index.d.ts +0 -69
- package/dist/types/infra/i18n/index.d.ts +0 -4
- package/dist/types/infra/i18n/parser.d.ts +0 -16
- package/dist/types/infra/index.d.ts +0 -6
- package/dist/types/infra/s3/index.d.ts +0 -20
- package/dist/types/infra/support/cache.d.ts +0 -6
- package/dist/types/infra/support/fetch/error.d.ts +0 -11
- package/dist/types/infra/support/fetch/index.d.ts +0 -7
- package/dist/types/infra/support/fetch/ofetch.d.ts +0 -24
- package/dist/types/infra/support/render/index.d.ts +0 -38
- package/dist/types/infra/support/render/puppeteer.d.ts +0 -43
- package/dist/types/interface/bot.d.ts +0 -22
- package/dist/types/interface/cmd/builder.d.ts +0 -53
- package/dist/types/interface/cmd/type.d.ts +0 -30
- package/dist/types/interface/db/index.d.ts +0 -45
- package/dist/types/interface/db/models.d.ts +0 -41
- package/dist/types/interface/index.d.ts +0 -30
- package/dist/types/interface/logger.d.ts +0 -8
- package/dist/types/schedules/index.d.ts +0 -40
- package/dist/types/schedules/interface.d.ts +0 -45
- package/dist/types/schedules/temp.d.ts +0 -35
- package/dist/types/service/api/base/aioclient.d.ts +0 -13
- package/dist/types/service/api/base/blclient.d.ts +0 -28
- package/dist/types/service/api/base/bsclient.d.ts +0 -29
- package/dist/types/service/api/base/index.d.ts +0 -19
- package/dist/types/service/api/base/ssclient.d.ts +0 -17
- package/dist/types/service/api/index.d.ts +0 -59
- package/dist/types/service/api/interfaces/aiosaber/index.d.ts +0 -9
- package/dist/types/service/api/interfaces/beatleader/bsor.d.ts +0 -113
- package/dist/types/service/api/interfaces/beatleader/index.d.ts +0 -5
- package/dist/types/service/api/interfaces/beatleader/req.d.ts +0 -22
- package/dist/types/service/api/interfaces/beatleader/score.d.ts +0 -164
- package/dist/types/service/api/interfaces/beatleader/user.d.ts +0 -173
- package/dist/types/service/api/interfaces/beatleader/ws.d.ts +0 -90
- package/dist/types/service/api/interfaces/beatsaver/alert.d.ts +0 -20
- package/dist/types/service/api/interfaces/beatsaver/bsmap.d.ts +0 -70
- package/dist/types/service/api/interfaces/beatsaver/index.d.ts +0 -13
- package/dist/types/service/api/interfaces/beatsaver/resp.d.ts +0 -11
- package/dist/types/service/api/interfaces/beatsaver/user.d.ts +0 -10
- package/dist/types/service/api/interfaces/beatsaver/ws.d.ts +0 -13
- package/dist/types/service/api/interfaces/index.d.ts +0 -14
- package/dist/types/service/api/interfaces/scoresaber/index.d.ts +0 -3
- package/dist/types/service/api/interfaces/scoresaber/item.d.ts +0 -67
- package/dist/types/service/api/interfaces/scoresaber/leaderboard.d.ts +0 -13
- package/dist/types/service/api/interfaces/scoresaber/resp.d.ts +0 -12
- package/dist/types/service/api/interfaces/scoresaber/user.d.ts +0 -35
- package/dist/types/service/api/interfaces/scoresaber/ws.d.ts +0 -80
- package/dist/types/service/api/sortScore.d.ts +0 -5
- package/dist/types/service/index.d.ts +0 -30
- package/dist/types/service/preference.d.ts +0 -38
- package/dist/types/service/render/index.d.ts +0 -43
- package/dist/types/service/render/interfaces.d.ts +0 -30
- package/dist/types/utils/index.d.ts +0 -5
- package/dist/types/ws/beatleader.d.ts +0 -47
- package/dist/types/ws/beatsaver.d.ts +0 -52
- package/dist/types/ws/bl-filter.d.ts +0 -2
- package/dist/types/ws/handler.d.ts +0 -8
- package/dist/types/ws/index.d.ts +0 -36
- package/dist/types/ws/scoresaber.d.ts +0 -47
- /package/dist/cjs/{infra/support → common}/cache.js +0 -0
- /package/dist/cjs/{infra/support → common}/fetch/error.js +0 -0
- /package/dist/cjs/{infra → common}/i18n/parser.js +0 -0
- /package/dist/cjs/{infra/support → common}/render/puppeteer.js +0 -0
- /package/dist/cjs/{interface → core}/cmd/type.js +0 -0
- /package/dist/cjs/{interface → core}/logger.js +0 -0
- /package/dist/cjs/{ws → events/ws}/handler.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/aiosaber/index.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/bsor.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/req.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/score.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/user.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/ws.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/alert.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/bsmap.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/resp.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/user.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/ws.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/index.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/item.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/leaderboard.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/resp.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/user.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/ws.js +0 -0
- /package/dist/cjs/{service → services}/api/sortScore.js +0 -0
- /package/dist/cjs/{service → services}/preference.js +0 -0
- /package/dist/esm/{infra/support → common}/cache.js +0 -0
- /package/dist/esm/{infra/support → common}/fetch/error.js +0 -0
- /package/dist/esm/{infra → common}/i18n/parser.js +0 -0
- /package/dist/esm/{infra/support → common}/render/puppeteer.js +0 -0
- /package/dist/esm/{interface → core}/cmd/type.js +0 -0
- /package/dist/esm/{interface → core}/cmd/type.js.map +0 -0
- /package/dist/{cjs/ws/bl-filter.js.map → esm/core/domain.js.map} +0 -0
- /package/dist/esm/{interface/bot.js.map → core/event.js.map} +0 -0
- /package/dist/esm/{interface → core}/logger.js +0 -0
- /package/dist/esm/{interface → core}/logger.js.map +0 -0
- /package/dist/esm/{schedules/interface.js.map → core/session.js.map} +0 -0
- /package/dist/esm/{ws → events/ws}/handler.js +0 -0
- /package/dist/esm/{ws → events/ws}/handler.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/aiosaber/index.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/aiosaber/index.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/bsor.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/bsor.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/req.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/req.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/score.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/score.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/user.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/user.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/ws.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/ws.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/alert.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/alert.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/bsmap.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/bsmap.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/resp.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/resp.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/user.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/user.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/ws.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/ws.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/index.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/index.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/item.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/item.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/leaderboard.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/leaderboard.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/resp.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/resp.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/user.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/user.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/ws.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/ws.js.map +0 -0
- /package/dist/esm/{service → services}/api/sortScore.js +0 -0
- /package/dist/esm/{service → services}/preference.js +0 -0
@@ -18,6 +18,18 @@ var __spreadValues = (a, b) => {
|
|
18
18
|
}
|
19
19
|
return a;
|
20
20
|
};
|
21
|
+
var __objRest = (source, exclude) => {
|
22
|
+
var target = {};
|
23
|
+
for (var prop in source)
|
24
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
25
|
+
target[prop] = source[prop];
|
26
|
+
if (source != null && __getOwnPropSymbols)
|
27
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
28
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
29
|
+
target[prop] = source[prop];
|
30
|
+
}
|
31
|
+
return target;
|
32
|
+
};
|
21
33
|
var __export = (target, all) => {
|
22
34
|
for (var name in all)
|
23
35
|
__defProp(target, name, { get: all[name], enumerable: true });
|
@@ -64,21 +76,26 @@ __export(render_exports, {
|
|
64
76
|
RenderService: () => RenderService
|
65
77
|
});
|
66
78
|
module.exports = __toCommonJS(render_exports);
|
67
|
-
var import_components = require("../../components");
|
79
|
+
var import_components = require("../../components/index.js");
|
68
80
|
var import_puppeteer_core = require("puppeteer-core");
|
69
|
-
var
|
70
|
-
var import_pages = require("../../components/pages");
|
71
|
-
var import_preference = require("
|
72
|
-
var import_errors = require("../../
|
73
|
-
var import_qrcode = __toESM(require("../../components/utils/qrcode"));
|
81
|
+
var import_utils = require("../../utils/index.js");
|
82
|
+
var import_pages = require("../../components/pages/index.js");
|
83
|
+
var import_preference = require("../preference.js");
|
84
|
+
var import_errors = require("../../services/errors/index.js");
|
85
|
+
var import_qrcode = __toESM(require("../../components/utils/qrcode.js"));
|
86
|
+
var import_render = require("../../common/render/index.js");
|
74
87
|
const getPreferenceKey = (platform) => {
|
75
|
-
return platform ==
|
88
|
+
return platform == import_utils.Platform.SS ? import_preference.preferenceKey.ssProfileRenderImg.key : import_preference.preferenceKey.blProfileRenderImg.key;
|
76
89
|
};
|
77
90
|
class RenderService {
|
78
91
|
constructor(api, imageRender) {
|
79
92
|
this.api = api;
|
80
93
|
this.imageRender = imageRender;
|
81
94
|
}
|
95
|
+
static create(imgRenderConfig) {
|
96
|
+
const _a = imgRenderConfig, { api } = _a, config = __objRest(_a, ["api"]);
|
97
|
+
return new RenderService(api, (0, import_render.getImageRender)(config));
|
98
|
+
}
|
82
99
|
renderRank(accountId, platform, renderOpts) {
|
83
100
|
return __async(this, null, function* () {
|
84
101
|
var _a;
|
@@ -86,12 +103,12 @@ class RenderService {
|
|
86
103
|
let bg = yield (_a = renderOpts == null ? void 0 : renderOpts.userPreference) == null ? void 0 : _a.get(getPreferenceKey(platform));
|
87
104
|
bg = bg || "https://www.loliapi.com/acg/pc/";
|
88
105
|
let html;
|
89
|
-
if (platform ==
|
106
|
+
if (platform == import_utils.Platform.BL) {
|
90
107
|
const { scores, userInfo } = yield this.api.getBLPlayerScoresWithUserInfo(accountId);
|
91
|
-
html = (0, import_components.getHtml)((0, import_pages.
|
108
|
+
html = (0, import_components.getHtml)((0, import_pages.BLPlayerComp)(scores, userInfo, bg));
|
92
109
|
} else {
|
93
110
|
const { scores, userInfo } = yield this.api.getSSPlayerRecentScoreWithUserInfo(accountId);
|
94
|
-
html = (0, import_components.getHtml)((0, import_pages.
|
111
|
+
html = (0, import_components.getHtml)((0, import_pages.SSPlayerComp)(scores, userInfo, bg));
|
95
112
|
}
|
96
113
|
return this.imageRender.html2img(html, __spreadValues({ selector: "#render-result" }, renderOpts));
|
97
114
|
} catch (e) {
|
@@ -114,7 +131,7 @@ class RenderService {
|
|
114
131
|
score.player.country
|
115
132
|
);
|
116
133
|
return this.imageRender.html2img(
|
117
|
-
(0, import_components.getHtml)((0, import_pages.
|
134
|
+
(0, import_components.getHtml)((0, import_pages.BLRankScoreComp)(score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, bg)),
|
118
135
|
__spreadValues({ selector: "#render-result" }, renderOpts)
|
119
136
|
);
|
120
137
|
} catch (e) {
|
@@ -136,14 +153,20 @@ class RenderService {
|
|
136
153
|
const previewQrUrl = yield (0, import_qrcode.default)(`https://allpoland.github.io/ArcViewer/?id=${bsMap.id}`);
|
137
154
|
const bsMapQrUrl = yield (0, import_qrcode.default)(`https://beatsaver.com/maps/${bsMap.id}`);
|
138
155
|
return this.imageRender.html2img(
|
139
|
-
(0, import_components.getHtml)((0, import_pages.
|
156
|
+
(0, import_components.getHtml)((0, import_pages.BSMapComp)(bsMap, bsMapQrUrl, previewQrUrl)),
|
140
157
|
__spreadValues({ selector: "#render-result" }, renderOption)
|
141
158
|
);
|
142
159
|
});
|
143
160
|
}
|
144
161
|
renderUrl(url, renderOption) {
|
145
162
|
return __async(this, null, function* () {
|
146
|
-
|
163
|
+
var _a, _b;
|
164
|
+
(_a = renderOption == null ? void 0 : renderOption.onRenderStart) == null ? void 0 : _a.call(renderOption);
|
165
|
+
try {
|
166
|
+
return this.imageRender.url2img(url, renderOption);
|
167
|
+
} catch (e) {
|
168
|
+
(_b = renderOption == null ? void 0 : renderOption.onRenderError) == null ? void 0 : _b.call(renderOption, e);
|
169
|
+
}
|
147
170
|
});
|
148
171
|
}
|
149
172
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/services/render/index.ts"],"sourcesContent":["import { getHtml } from '@/components'\nimport { PuppeteerError, TimeoutError } from 'puppeteer-core'\nimport { Platform } from '@/utils'\nimport { BLPlayerComp, BLRankScoreComp, BSMapComp, SSPlayerComp } from '@/components/pages'\nimport {preferenceKey} from \"../preference\";\nimport {ImageRenderError, RequestError} from \"@/services/errors\";\nimport createQrcode from \"@/components/utils/qrcode\";\nimport {APIService} from \"../api\";\nimport { BSMap } from \"../api/interfaces/beatsaver\";\nimport { type CreateImageRenderOption, getImageRender, ImageRender } from \"@/common/render\";\nimport {UserPreferenceStore} from \"../preference\";\nimport {PuppeteerOptions} from \"@/common/render\";\nexport type RenderOption = RenderOptions & PuppeteerOptions\n\ntype RenderOptions = {\n userPreference?: UserPreferenceStore,\n onRenderStart?: () => void,\n onRenderError?: (e) => void\n}\n\nexport interface IRenderService {\n renderRank(accountId: string, platform: Platform, renderOpts?: RenderOption): Promise<Buffer>\n renderScore(scoreId: string, renderOpts?: RenderOption): Promise<Buffer>\n renderMapById(mapId: string, renderOpts?: RenderOption): Promise<Buffer>\n renderMap(bsMap: BSMap, renderOpts?: RenderOption): Promise<Buffer>\n renderUrl(url: string, renderOpts?: RenderOption): Promise<Buffer>\n}\n\nconst getPreferenceKey = (platform: string) => {\n return platform == Platform.SS\n ? preferenceKey.ssProfileRenderImg.key\n : preferenceKey.blProfileRenderImg.key\n}\n\nexport class RenderService implements IRenderService {\n private constructor(\n private api: APIService,\n private imageRender: ImageRender\n ) {}\n\n static create(imgRenderConfig: CreateImageRenderOption & { api: APIService }) {\n const { api, ...config} = imgRenderConfig\n return new RenderService(api, getImageRender(config))\n }\n\n async renderRank(\n accountId: string,\n platform: Platform,\n renderOpts?: RenderOption\n ) {\n try {\n let bg = (await renderOpts?.userPreference?.get<string>(getPreferenceKey(platform)))\n bg = bg || 'https://www.loliapi.com/acg/pc/'\n let html: string\n if (platform == Platform.BL) {\n const { scores, userInfo } = await this.api.getBLPlayerScoresWithUserInfo(accountId)\n html = getHtml(BLPlayerComp(scores, userInfo, bg))\n } else {\n const { scores, userInfo } = await this.api.getSSPlayerRecentScoreWithUserInfo(accountId)\n html = getHtml(SSPlayerComp(scores, userInfo, bg))\n }\n return this.imageRender.html2img(html, {selector: '#render-result', ...renderOpts})\n }catch (e) {\n if (e instanceof TimeoutError || e instanceof PuppeteerError) {\n throw new ImageRenderError()\n }\n throw e\n }\n }\n\n async renderScore(\n scoreId: string,\n renderOpts?: RenderOption\n ) {\n const bg = (await renderOpts?.userPreference?.get<string>(preferenceKey.blScoreImg.key))\n ?? 'https://www.loliapi.com/acg/pc/'\n try {\n const { score, statistic, bsor, bsMap } =\n await this.api.getScoreAndBSMapByScoreId(scoreId)\n\n const { aroundScores, regionTopScores, difficulties } =\n await this.api.getAroundScoreAndRegionScoreByRankAndPage(\n score.leaderboardId,\n score.rank,\n score.player.country\n )\n return this.imageRender.html2img(\n getHtml(BLRankScoreComp(score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, bg)),\n {selector: '#render-result', ...renderOpts}\n )\n }catch (e) {\n if (e instanceof RequestError) {\n throw e\n }\n throw new ImageRenderError()\n }\n }\n\n async renderMapById(\n mapId: string,\n renderOption: RenderOption\n ) {\n const map = await this.api.BeatSaver.searchMapById(mapId)\n return this.renderMap(map, renderOption)\n }\n\n async renderMap(\n bsMap: BSMap,\n renderOption?: RenderOption\n ) {\n const previewQrUrl = await createQrcode(`https://allpoland.github.io/ArcViewer/?id=${bsMap.id}`)\n const bsMapQrUrl = await createQrcode(`https://beatsaver.com/maps/${bsMap.id}`)\n return this.imageRender.html2img(\n getHtml(BSMapComp(bsMap, bsMapQrUrl, previewQrUrl)), {selector: '#render-result', ...renderOption}\n )\n }\n\n async renderUrl(url: string, renderOption?: RenderOption) {\n renderOption?.onRenderStart?.()\n try {\n return this.imageRender.url2img(url, renderOption)\n }catch (e) {\n renderOption?.onRenderError?.(e)\n }\n }\n}\n"],"mappings":"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","names":["createQrcode"]}
|
@@ -0,0 +1,329 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
5
|
+
var __export = (target, all) => {
|
6
|
+
for (var name in all)
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
8
|
+
};
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
11
|
+
for (let key of __getOwnPropNames(from))
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
14
|
+
}
|
15
|
+
return to;
|
16
|
+
};
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
18
|
+
var __async = (__this, __arguments, generator) => {
|
19
|
+
return new Promise((resolve, reject) => {
|
20
|
+
var fulfilled = (value) => {
|
21
|
+
try {
|
22
|
+
step(generator.next(value));
|
23
|
+
} catch (e) {
|
24
|
+
reject(e);
|
25
|
+
}
|
26
|
+
};
|
27
|
+
var rejected = (value) => {
|
28
|
+
try {
|
29
|
+
step(generator.throw(value));
|
30
|
+
} catch (e) {
|
31
|
+
reject(e);
|
32
|
+
}
|
33
|
+
};
|
34
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
35
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
36
|
+
});
|
37
|
+
};
|
38
|
+
var bsorDecoder_exports = {};
|
39
|
+
__export(bsorDecoder_exports, {
|
40
|
+
DecodeInfo: () => DecodeInfo,
|
41
|
+
DecodeNotes: () => DecodeNotes,
|
42
|
+
NoteEventType: () => NoteEventType,
|
43
|
+
checkBSORFile: () => checkBSORFile,
|
44
|
+
decode: () => decode,
|
45
|
+
decodeAsync: () => decodeAsync
|
46
|
+
});
|
47
|
+
module.exports = __toCommonJS(bsorDecoder_exports);
|
48
|
+
function checkBSORFile(file, completion) {
|
49
|
+
var reader = new FileReader();
|
50
|
+
reader.onload = function(e) {
|
51
|
+
decode(e.target.result, completion);
|
52
|
+
};
|
53
|
+
reader.onerror = function(e) {
|
54
|
+
completion("Error: " + e.type);
|
55
|
+
};
|
56
|
+
reader.readAsArrayBuffer(file);
|
57
|
+
}
|
58
|
+
const StructType = {
|
59
|
+
info: 0,
|
60
|
+
frames: 1,
|
61
|
+
notes: 2,
|
62
|
+
walls: 3,
|
63
|
+
heights: 4,
|
64
|
+
pauses: 5
|
65
|
+
};
|
66
|
+
const NoteEventType = {
|
67
|
+
good: 0,
|
68
|
+
bad: 1,
|
69
|
+
miss: 2,
|
70
|
+
bomb: 3
|
71
|
+
};
|
72
|
+
const _decode = (arrayBuffer) => {
|
73
|
+
const dataView = new DataView(arrayBuffer);
|
74
|
+
dataView.pointer = 0;
|
75
|
+
const magic = DecodeInt(dataView);
|
76
|
+
const version = DecodeUint8(dataView);
|
77
|
+
let ok = false;
|
78
|
+
var replay = {};
|
79
|
+
if (version == 1 && magic == 1143815529) {
|
80
|
+
for (var a = 0; a < StructType.pauses + 1; a++) {
|
81
|
+
const type = DecodeUint8(dataView);
|
82
|
+
switch (type) {
|
83
|
+
case StructType.info:
|
84
|
+
replay.info = DecodeInfo(dataView);
|
85
|
+
break;
|
86
|
+
case StructType.frames:
|
87
|
+
replay.frames = DecodeFrames(dataView);
|
88
|
+
break;
|
89
|
+
case StructType.notes:
|
90
|
+
replay.notes = DecodeNotes(dataView);
|
91
|
+
break;
|
92
|
+
case StructType.walls:
|
93
|
+
replay.walls = DecodeWalls(dataView);
|
94
|
+
break;
|
95
|
+
case StructType.heights:
|
96
|
+
replay.heights = DecodeHeight(dataView);
|
97
|
+
break;
|
98
|
+
case StructType.pauses:
|
99
|
+
replay.pauses = DecodePauses(dataView);
|
100
|
+
break;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
ok = true;
|
104
|
+
}
|
105
|
+
return { ok, replay };
|
106
|
+
};
|
107
|
+
function decode(arrayBuffer, completion) {
|
108
|
+
const { ok, replay } = _decode(arrayBuffer);
|
109
|
+
if (!ok) completion("Error: failed to decode replay");
|
110
|
+
completion(replay);
|
111
|
+
}
|
112
|
+
function decodeAsync(arrayBuffer) {
|
113
|
+
return __async(this, null, function* () {
|
114
|
+
const { ok, replay } = _decode(arrayBuffer);
|
115
|
+
if (!ok) throw new Error("failed to decode replay, not a target function");
|
116
|
+
return replay;
|
117
|
+
});
|
118
|
+
}
|
119
|
+
function DecodeInfo(dataView) {
|
120
|
+
var result = {};
|
121
|
+
result.version = DecodeString(dataView);
|
122
|
+
result.gameVersion = DecodeString(dataView);
|
123
|
+
result.timestamp = DecodeString(dataView);
|
124
|
+
result.playerID = DecodeString(dataView);
|
125
|
+
result.playerName = DecodeName(dataView);
|
126
|
+
result.platform = DecodeString(dataView);
|
127
|
+
result.trackingSystem = DecodeString(dataView);
|
128
|
+
result.hmd = DecodeString(dataView);
|
129
|
+
result.controller = DecodeString(dataView);
|
130
|
+
result.hash = DecodeString(dataView);
|
131
|
+
result.songName = DecodeString(dataView);
|
132
|
+
result.mapper = DecodeString(dataView);
|
133
|
+
result.difficulty = DecodeString(dataView);
|
134
|
+
result.score = DecodeInt(dataView);
|
135
|
+
result.mode = DecodeString(dataView);
|
136
|
+
result.environment = DecodeString(dataView);
|
137
|
+
result.modifiers = DecodeString(dataView);
|
138
|
+
result.jumpDistance = DecodeFloat(dataView);
|
139
|
+
result.leftHanded = DecodeBool(dataView);
|
140
|
+
result.height = DecodeFloat(dataView);
|
141
|
+
result.startTime = DecodeFloat(dataView);
|
142
|
+
result.failTime = DecodeFloat(dataView);
|
143
|
+
result.speed = DecodeFloat(dataView);
|
144
|
+
return result;
|
145
|
+
}
|
146
|
+
function DecodeFrames(dataView) {
|
147
|
+
const length = DecodeInt(dataView);
|
148
|
+
var result = [];
|
149
|
+
for (var i = 0; i < length; i++) {
|
150
|
+
var frame = DecodeFrame(dataView);
|
151
|
+
if (frame.time != 0 && (result.length == 0 || frame.time != result[result.length - 1].time)) {
|
152
|
+
result.push(frame);
|
153
|
+
}
|
154
|
+
}
|
155
|
+
return result;
|
156
|
+
}
|
157
|
+
function DecodeFrame(dataView) {
|
158
|
+
var result = {};
|
159
|
+
result.time = DecodeFloat(dataView);
|
160
|
+
result.fps = DecodeInt(dataView);
|
161
|
+
result.head = DecodeEuler(dataView);
|
162
|
+
result.left = DecodeEuler(dataView);
|
163
|
+
result.right = DecodeEuler(dataView);
|
164
|
+
return result;
|
165
|
+
}
|
166
|
+
function DecodeNotes(dataView) {
|
167
|
+
const length = DecodeInt(dataView);
|
168
|
+
var result = [];
|
169
|
+
for (var i = 0; i < length; i++) {
|
170
|
+
result.push(DecodeNote(dataView));
|
171
|
+
}
|
172
|
+
return result;
|
173
|
+
}
|
174
|
+
function DecodeWalls(dataView) {
|
175
|
+
const length = DecodeInt(dataView);
|
176
|
+
var result = [];
|
177
|
+
for (var i = 0; i < length; i++) {
|
178
|
+
var wall = {};
|
179
|
+
wall.wallID = DecodeInt(dataView);
|
180
|
+
wall.energy = DecodeFloat(dataView);
|
181
|
+
wall.time = DecodeFloat(dataView);
|
182
|
+
wall.spawnTime = DecodeFloat(dataView);
|
183
|
+
result.push(wall);
|
184
|
+
}
|
185
|
+
return result;
|
186
|
+
}
|
187
|
+
function DecodeHeight(dataView) {
|
188
|
+
const length = DecodeInt(dataView);
|
189
|
+
var result = [];
|
190
|
+
for (var i = 0; i < length; i++) {
|
191
|
+
var height = {};
|
192
|
+
height.height = DecodeFloat(dataView);
|
193
|
+
height.time = DecodeFloat(dataView);
|
194
|
+
result.push(height);
|
195
|
+
}
|
196
|
+
return result;
|
197
|
+
}
|
198
|
+
function DecodePauses(dataView) {
|
199
|
+
const length = DecodeInt(dataView);
|
200
|
+
var result = [];
|
201
|
+
for (var i = 0; i < length; i++) {
|
202
|
+
var pause = {};
|
203
|
+
pause.duration = DecodeLong(dataView);
|
204
|
+
pause.time = DecodeFloat(dataView);
|
205
|
+
result.push(pause);
|
206
|
+
}
|
207
|
+
return result;
|
208
|
+
}
|
209
|
+
function DecodeNote(dataView) {
|
210
|
+
var result = {};
|
211
|
+
result.noteID = DecodeInt(dataView);
|
212
|
+
result.eventTime = DecodeFloat(dataView);
|
213
|
+
result.spawnTime = DecodeFloat(dataView);
|
214
|
+
result.eventType = DecodeInt(dataView);
|
215
|
+
if (result.eventType == NoteEventType.good || result.eventType == NoteEventType.bad) {
|
216
|
+
result.noteCutInfo = DecodeCutInfo(dataView);
|
217
|
+
}
|
218
|
+
return result;
|
219
|
+
}
|
220
|
+
function DecodeCutInfo(dataView) {
|
221
|
+
var result = {};
|
222
|
+
result.speedOK = DecodeBool(dataView);
|
223
|
+
result.directionOK = DecodeBool(dataView);
|
224
|
+
result.saberTypeOK = DecodeBool(dataView);
|
225
|
+
result.wasCutTooSoon = DecodeBool(dataView);
|
226
|
+
result.saberSpeed = DecodeFloat(dataView);
|
227
|
+
result.saberDir = DecodeVector3(dataView);
|
228
|
+
result.saberType = DecodeInt(dataView);
|
229
|
+
result.timeDeviation = DecodeFloat(dataView);
|
230
|
+
result.cutDirDeviation = DecodeFloat(dataView);
|
231
|
+
result.cutPoint = DecodeVector3(dataView);
|
232
|
+
result.cutNormal = DecodeVector3(dataView);
|
233
|
+
result.cutDistanceToCenter = DecodeFloat(dataView);
|
234
|
+
result.cutAngle = DecodeFloat(dataView);
|
235
|
+
result.beforeCutRating = DecodeFloat(dataView);
|
236
|
+
result.afterCutRating = DecodeFloat(dataView);
|
237
|
+
return result;
|
238
|
+
}
|
239
|
+
function DecodeEuler(dataView) {
|
240
|
+
var result = {};
|
241
|
+
result.position = DecodeVector3(dataView);
|
242
|
+
result.rotation = DecodeQuaternion(dataView);
|
243
|
+
return result;
|
244
|
+
}
|
245
|
+
function DecodeVector3(dataView) {
|
246
|
+
var result = {};
|
247
|
+
result.x = DecodeFloat(dataView);
|
248
|
+
result.y = DecodeFloat(dataView);
|
249
|
+
result.z = DecodeFloat(dataView);
|
250
|
+
return result;
|
251
|
+
}
|
252
|
+
function DecodeQuaternion(dataView) {
|
253
|
+
var result = {};
|
254
|
+
result.x = DecodeFloat(dataView);
|
255
|
+
result.y = DecodeFloat(dataView);
|
256
|
+
result.z = DecodeFloat(dataView);
|
257
|
+
result.w = DecodeFloat(dataView);
|
258
|
+
return result;
|
259
|
+
}
|
260
|
+
function DecodeLong(dataView) {
|
261
|
+
const result = dataView.getBigInt64(dataView.pointer, true);
|
262
|
+
dataView.pointer += 8;
|
263
|
+
return result;
|
264
|
+
}
|
265
|
+
function DecodeInt(dataView) {
|
266
|
+
const result = dataView.getInt32(dataView.pointer, true);
|
267
|
+
dataView.pointer += 4;
|
268
|
+
return result;
|
269
|
+
}
|
270
|
+
function DecodeUint8(dataView) {
|
271
|
+
const result = dataView.getUint8(dataView.pointer, true);
|
272
|
+
dataView.pointer++;
|
273
|
+
return result;
|
274
|
+
}
|
275
|
+
function DecodeString(dataView) {
|
276
|
+
const length = dataView.getInt32(dataView.pointer, true);
|
277
|
+
if (length < 0 || length > 300) {
|
278
|
+
dataView.pointer += 1;
|
279
|
+
return DecodeString(dataView);
|
280
|
+
}
|
281
|
+
var enc = new TextDecoder("utf-8");
|
282
|
+
const string = enc.decode(
|
283
|
+
new Int8Array(
|
284
|
+
dataView.buffer.slice(dataView.pointer + 4, length + dataView.pointer + 4)
|
285
|
+
)
|
286
|
+
);
|
287
|
+
dataView.pointer += length + 4;
|
288
|
+
return string;
|
289
|
+
}
|
290
|
+
function DecodeName(dataView) {
|
291
|
+
const length = dataView.getInt32(dataView.pointer, true);
|
292
|
+
var enc = new TextDecoder("utf-8");
|
293
|
+
let lengthOffset = 0;
|
294
|
+
if (length > 0) {
|
295
|
+
while (dataView.getInt32(length + dataView.pointer + 4 + lengthOffset, true) != 6 && dataView.getInt32(length + dataView.pointer + 4 + lengthOffset, true) != 5 && dataView.getInt32(length + dataView.pointer + 4 + lengthOffset, true) != 8) {
|
296
|
+
lengthOffset++;
|
297
|
+
}
|
298
|
+
}
|
299
|
+
const string = enc.decode(
|
300
|
+
new Int8Array(
|
301
|
+
dataView.buffer.slice(
|
302
|
+
dataView.pointer + 4,
|
303
|
+
length + dataView.pointer + 4 + lengthOffset
|
304
|
+
)
|
305
|
+
)
|
306
|
+
);
|
307
|
+
dataView.pointer += length + 4 + lengthOffset;
|
308
|
+
return string;
|
309
|
+
}
|
310
|
+
function DecodeFloat(dataView) {
|
311
|
+
const result = dataView.getFloat32(dataView.pointer, true);
|
312
|
+
dataView.pointer += 4;
|
313
|
+
return result;
|
314
|
+
}
|
315
|
+
function DecodeBool(dataView) {
|
316
|
+
const result = dataView.getUint8(dataView.pointer, true) != 0;
|
317
|
+
dataView.pointer++;
|
318
|
+
return result;
|
319
|
+
}
|
320
|
+
// Annotate the CommonJS export names for ESM import in node:
|
321
|
+
0 && (module.exports = {
|
322
|
+
DecodeInfo,
|
323
|
+
DecodeNotes,
|
324
|
+
NoteEventType,
|
325
|
+
checkBSORFile,
|
326
|
+
decode,
|
327
|
+
decodeAsync
|
328
|
+
});
|
329
|
+
//# sourceMappingURL=bsorDecoder.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/bsorDecoder.js"],"sourcesContent":["\nexport function checkBSORFile(file, completion) {\n var reader = new FileReader()\n // (await fetch(\"\")).arrayBuffer()\n reader.onload = function (e) {\n decode(e.target.result, completion)\n }\n reader.onerror = function (e) {\n // error occurred\n completion('Error: ' + e.type)\n }\n reader.readAsArrayBuffer(file)\n}\n\nconst StructType = {\n info: 0,\n frames: 1,\n notes: 2,\n walls: 3,\n heights: 4,\n pauses: 5,\n}\n\nexport const NoteEventType = {\n good: 0,\n bad: 1,\n miss: 2,\n bomb: 3,\n}\n\n\nconst _decode = (arrayBuffer) => {\n const dataView = new DataView(arrayBuffer)\n dataView.pointer = 0\n\n const magic = DecodeInt(dataView)\n const version = DecodeUint8(dataView)\n\n let ok = false\n var replay = {}\n if (version == 1 && magic == 0x442d3d69) {\n for (var a = 0; a < StructType.pauses + 1; a++) {\n const type = DecodeUint8(dataView)\n switch (type) {\n case StructType.info:\n replay.info = DecodeInfo(dataView)\n break\n case StructType.frames:\n replay.frames = DecodeFrames(dataView)\n break\n case StructType.notes:\n replay.notes = DecodeNotes(dataView)\n break\n case StructType.walls:\n replay.walls = DecodeWalls(dataView)\n break\n case StructType.heights:\n replay.heights = DecodeHeight(dataView)\n break\n case StructType.pauses:\n replay.pauses = DecodePauses(dataView)\n break\n }\n }\n ok = true\n }\n return {ok, replay}\n}\n\nexport function decode(arrayBuffer, completion) {\n const {ok, replay} = _decode(arrayBuffer)\n if (!ok) completion('Error: failed to decode replay')\n completion(replay)\n}\n\nexport async function decodeAsync(arrayBuffer) {\n const {ok, replay} = _decode(arrayBuffer)\n if (!ok) throw new Error(\"failed to decode replay, not a target function\")\n return replay\n}\nexport function DecodeInfo(dataView) {\n var result = {}\n\n result.version = DecodeString(dataView)\n result.gameVersion = DecodeString(dataView)\n result.timestamp = DecodeString(dataView)\n\n result.playerID = DecodeString(dataView)\n result.playerName = DecodeName(dataView)\n result.platform = DecodeString(dataView)\n\n result.trackingSystem = DecodeString(dataView)\n result.hmd = DecodeString(dataView)\n result.controller = DecodeString(dataView)\n\n result.hash = DecodeString(dataView)\n result.songName = DecodeString(dataView)\n result.mapper = DecodeString(dataView)\n result.difficulty = DecodeString(dataView)\n\n result.score = DecodeInt(dataView)\n result.mode = DecodeString(dataView)\n result.environment = DecodeString(dataView)\n result.modifiers = DecodeString(dataView)\n result.jumpDistance = DecodeFloat(dataView)\n result.leftHanded = DecodeBool(dataView)\n result.height = DecodeFloat(dataView)\n\n result.startTime = DecodeFloat(dataView)\n result.failTime = DecodeFloat(dataView)\n result.speed = DecodeFloat(dataView)\n\n return result\n}\n\nfunction DecodeFrames(dataView) {\n const length = DecodeInt(dataView)\n var result = []\n for (var i = 0; i < length; i++) {\n var frame = DecodeFrame(dataView)\n if (\n frame.time != 0 &&\n (result.length == 0 || frame.time != result[result.length - 1].time)\n ) {\n result.push(frame)\n }\n }\n return result\n}\n\nfunction DecodeFrame(dataView) {\n var result = {}\n result.time = DecodeFloat(dataView)\n result.fps = DecodeInt(dataView)\n result.head = DecodeEuler(dataView)\n result.left = DecodeEuler(dataView)\n result.right = DecodeEuler(dataView)\n\n return result\n}\n\nexport function DecodeNotes(dataView) {\n const length = DecodeInt(dataView)\n var result = []\n for (var i = 0; i < length; i++) {\n result.push(DecodeNote(dataView))\n }\n return result\n}\n\nfunction DecodeWalls(dataView) {\n const length = DecodeInt(dataView)\n var result = []\n for (var i = 0; i < length; i++) {\n var wall = {}\n wall.wallID = DecodeInt(dataView)\n wall.energy = DecodeFloat(dataView)\n wall.time = DecodeFloat(dataView)\n wall.spawnTime = DecodeFloat(dataView)\n result.push(wall)\n }\n return result\n}\n\nfunction DecodeHeight(dataView) {\n const length = DecodeInt(dataView)\n var result = []\n for (var i = 0; i < length; i++) {\n var height = {}\n height.height = DecodeFloat(dataView)\n height.time = DecodeFloat(dataView)\n result.push(height)\n }\n return result\n}\n\nfunction DecodePauses(dataView) {\n const length = DecodeInt(dataView)\n var result = []\n for (var i = 0; i < length; i++) {\n var pause = {}\n pause.duration = DecodeLong(dataView)\n pause.time = DecodeFloat(dataView)\n result.push(pause)\n }\n return result\n}\n\nfunction DecodeNote(dataView) {\n var result = {}\n\n result.noteID = DecodeInt(dataView)\n result.eventTime = DecodeFloat(dataView)\n result.spawnTime = DecodeFloat(dataView)\n result.eventType = DecodeInt(dataView)\n if (\n result.eventType == NoteEventType.good ||\n result.eventType == NoteEventType.bad\n ) {\n result.noteCutInfo = DecodeCutInfo(dataView)\n }\n\n return result\n}\n\nfunction DecodeCutInfo(dataView) {\n var result = {}\n\n result.speedOK = DecodeBool(dataView)\n result.directionOK = DecodeBool(dataView)\n result.saberTypeOK = DecodeBool(dataView)\n result.wasCutTooSoon = DecodeBool(dataView)\n result.saberSpeed = DecodeFloat(dataView)\n result.saberDir = DecodeVector3(dataView)\n result.saberType = DecodeInt(dataView)\n result.timeDeviation = DecodeFloat(dataView)\n result.cutDirDeviation = DecodeFloat(dataView)\n result.cutPoint = DecodeVector3(dataView)\n result.cutNormal = DecodeVector3(dataView)\n result.cutDistanceToCenter = DecodeFloat(dataView)\n result.cutAngle = DecodeFloat(dataView)\n result.beforeCutRating = DecodeFloat(dataView)\n result.afterCutRating = DecodeFloat(dataView)\n\n return result\n}\n\nfunction DecodeEuler(dataView) {\n var result = {}\n result.position = DecodeVector3(dataView)\n result.rotation = DecodeQuaternion(dataView)\n\n return result\n}\n\nfunction DecodeVector3(dataView) {\n var result = {}\n\n result.x = DecodeFloat(dataView)\n result.y = DecodeFloat(dataView)\n result.z = DecodeFloat(dataView)\n\n return result\n}\n\nfunction DecodeQuaternion(dataView) {\n var result = {}\n\n result.x = DecodeFloat(dataView)\n result.y = DecodeFloat(dataView)\n result.z = DecodeFloat(dataView)\n result.w = DecodeFloat(dataView)\n\n return result\n}\n\nfunction DecodeLong(dataView) {\n const result = dataView.getBigInt64(dataView.pointer, true)\n dataView.pointer += 8\n return result\n}\n\nfunction DecodeInt(dataView) {\n const result = dataView.getInt32(dataView.pointer, true)\n dataView.pointer += 4\n return result\n}\n\nfunction DecodeUint8(dataView) {\n const result = dataView.getUint8(dataView.pointer, true)\n dataView.pointer++\n return result\n}\n\nfunction DecodeString(dataView) {\n const length = dataView.getInt32(dataView.pointer, true)\n if (length < 0 || length > 300) {\n dataView.pointer += 1\n return DecodeString(dataView)\n }\n var enc = new TextDecoder('utf-8')\n const string = enc.decode(\n new Int8Array(\n dataView.buffer.slice(dataView.pointer + 4, length + dataView.pointer + 4)\n )\n )\n dataView.pointer += length + 4\n return string\n}\n\nfunction DecodeName(dataView) {\n const length = dataView.getInt32(dataView.pointer, true)\n var enc = new TextDecoder('utf-8')\n let lengthOffset = 0\n if (length > 0) {\n while (\n dataView.getInt32(length + dataView.pointer + 4 + lengthOffset, true) !=\n 6 &&\n dataView.getInt32(length + dataView.pointer + 4 + lengthOffset, true) !=\n 5 &&\n dataView.getInt32(length + dataView.pointer + 4 + lengthOffset, true) != 8\n ) {\n lengthOffset++\n }\n }\n\n const string = enc.decode(\n new Int8Array(\n dataView.buffer.slice(\n dataView.pointer + 4,\n length + dataView.pointer + 4 + lengthOffset\n )\n )\n )\n dataView.pointer += length + 4 + lengthOffset\n return string\n}\n\nfunction DecodeFloat(dataView) {\n const result = dataView.getFloat32(dataView.pointer, true)\n dataView.pointer += 4\n return result\n}\n\nfunction DecodeBool(dataView) {\n const result = dataView.getUint8(dataView.pointer, true) != 0\n dataView.pointer++\n return result\n}\n"],"mappings":"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","names":[]}
|
package/dist/cjs/utils/index.js
CHANGED
@@ -14,6 +14,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
14
14
|
}
|
15
15
|
return to;
|
16
16
|
};
|
17
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
17
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
18
19
|
var __async = (__this, __arguments, generator) => {
|
19
20
|
return new Promise((resolve, reject) => {
|
@@ -43,6 +44,8 @@ __export(utils_exports, {
|
|
43
44
|
});
|
44
45
|
module.exports = __toCommonJS(utils_exports);
|
45
46
|
var import_lru_cache = require("lru-cache");
|
47
|
+
__reExport(utils_exports, require("./platform.js"), module.exports);
|
48
|
+
__reExport(utils_exports, require("./bsorDecoder.js"), module.exports);
|
46
49
|
const handleWSEventWithCache = (fnThat, fn, ttl, eventParser, eventFilter, eventIdSelector) => {
|
47
50
|
const WSCache = new import_lru_cache.LRUCache({
|
48
51
|
max: 500,
|
@@ -90,6 +93,8 @@ const convertDiff = (diff) => {
|
|
90
93
|
0 && (module.exports = {
|
91
94
|
convertDiff,
|
92
95
|
handleWSEventWithCache,
|
93
|
-
sleep
|
96
|
+
sleep,
|
97
|
+
...require("./platform.js"),
|
98
|
+
...require("./bsorDecoder.js")
|
94
99
|
});
|
95
100
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/index.ts"],"sourcesContent":["import { LRUCache } from 'lru-cache'\n\nexport const handleWSEventWithCache = (\n fnThat,\n fn,\n ttl,\n eventParser,\n eventFilter,\n eventIdSelector\n) => {\n\n const WSCache = new LRUCache({\n max: 500,\n size: 50,\n sizeCalculation: (value, key) => 1,\n // for use with tracking overall storage size\n maxSize: 5000,\n allowStale: false,\n updateAgeOnGet: false,\n noUpdateTTL: true,\n ttl: ttl,\n })\n return async function (event: any) {\n const data = eventParser(event)\n const key = eventIdSelector(data)\n if (!eventFilter(data) || WSCache.get(key)) {\n return\n }\n WSCache.set(key, true)\n await fn.apply(fnThat, [data])\n }\n}\n\nexport const sleep = async (millsec: number = 5000) => {\n await new Promise<void>((resolve, reject) => {\n setTimeout(resolve, millsec)\n })\n}\n\nconst diffMap = {\n E: 'Easy',\n N: 'Normal',\n H: 'Hard',\n EX: 'Expert',\n EP: 'ExpertPlus',\n 'EX+': 'ExpertPlus',\n}\n\nexport const convertDiff = (diff: string | null) => {\n if (!diff) {\n return diff\n }\n return diffMap[diff.toUpperCase()]\n}\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/utils/index.ts"],"sourcesContent":["import { LRUCache } from 'lru-cache'\n\nexport const handleWSEventWithCache = (\n fnThat,\n fn,\n ttl,\n eventParser,\n eventFilter,\n eventIdSelector\n) => {\n\n const WSCache = new LRUCache({\n max: 500,\n size: 50,\n sizeCalculation: (value, key) => 1,\n // for use with tracking overall storage size\n maxSize: 5000,\n allowStale: false,\n updateAgeOnGet: false,\n noUpdateTTL: true,\n ttl: ttl,\n })\n return async function (event: any) {\n const data = eventParser(event)\n const key = eventIdSelector(data)\n if (!eventFilter(data) || WSCache.get(key)) {\n return\n }\n WSCache.set(key, true)\n await fn.apply(fnThat, [data])\n }\n}\n\nexport const sleep = async (millsec: number = 5000) => {\n await new Promise<void>((resolve, reject) => {\n setTimeout(resolve, millsec)\n })\n}\n\nconst diffMap = {\n E: 'Easy',\n N: 'Normal',\n H: 'Hard',\n EX: 'Expert',\n EP: 'ExpertPlus',\n 'EX+': 'ExpertPlus',\n}\n\nexport const convertDiff = (diff: string | null) => {\n if (!diff) {\n return diff\n }\n return diffMap[diff.toUpperCase()]\n}\n\nexport * from './platform'\nexport * from './bsorDecoder.js'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyB;AAuDzB,0BAAc,uBAvDd;AAwDA,0BAAc,6BAxDd;AAEO,MAAM,yBAAyB,CACpC,QACA,IACA,KACA,aACA,aACA,oBACG;AAEH,QAAM,UAAU,IAAI,0BAAS;AAAA,IAC3B,KAAK;AAAA,IACL,MAAM;AAAA,IACN,iBAAiB,CAAC,OAAO,QAAQ;AAAA;AAAA,IAEjC,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb;AAAA,EACF,CAAC;AACD,SAAO,SAAgB,OAAY;AAAA;AACjC,YAAM,OAAO,YAAY,KAAK;AAC9B,YAAM,MAAM,gBAAgB,IAAI;AAChC,UAAI,CAAC,YAAY,IAAI,KAAK,QAAQ,IAAI,GAAG,GAAG;AAC1C;AAAA,MACF;AACA,cAAQ,IAAI,KAAK,IAAI;AACrB,YAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;AAAA,IAC/B;AAAA;AACF;AAEO,MAAM,QAAQ,CAAO,UAAkB,QAAS;AACrD,QAAM,IAAI,QAAc,CAAC,SAAS,WAAW;AAC3C,eAAW,SAAS,OAAO;AAAA,EAC7B,CAAC;AACH;AAEA,MAAM,UAAU;AAAA,EACd,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AACT;AAEO,MAAM,cAAc,CAAC,SAAwB;AAClD,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,KAAK,YAAY,CAAC;AACnC;","names":[]}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
5
|
+
var __export = (target, all) => {
|
6
|
+
for (var name in all)
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
8
|
+
};
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
11
|
+
for (let key of __getOwnPropNames(from))
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
14
|
+
}
|
15
|
+
return to;
|
16
|
+
};
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
18
|
+
var platform_exports = {};
|
19
|
+
__export(platform_exports, {
|
20
|
+
Platform: () => Platform,
|
21
|
+
parsePlatform: () => parsePlatform
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(platform_exports);
|
24
|
+
var Platform = /* @__PURE__ */ ((Platform2) => {
|
25
|
+
Platform2["SS"] = "scoresaber";
|
26
|
+
Platform2["BS"] = "beatsaver";
|
27
|
+
Platform2["BL"] = "beatleader";
|
28
|
+
return Platform2;
|
29
|
+
})(Platform || {});
|
30
|
+
const parsePlatform = (p) => {
|
31
|
+
return p == "ss" ? "scoresaber" /* SS */ : "beatleader" /* BL */;
|
32
|
+
};
|
33
|
+
// Annotate the CommonJS export names for ESM import in node:
|
34
|
+
0 && (module.exports = {
|
35
|
+
Platform,
|
36
|
+
parsePlatform
|
37
|
+
});
|
38
|
+
//# sourceMappingURL=platform.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/platform.ts"],"sourcesContent":["export enum Platform {\n SS = 'scoresaber',\n BS = 'beatsaver',\n BL = 'beatleader',\n}\n\nexport const parsePlatform = (p: string) => {\n return p == 'ss' ? Platform.SS : Platform.BL\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAK,WAAL,kBAAKA,cAAL;AACL,EAAAA,UAAA,QAAK;AACL,EAAAA,UAAA,QAAK;AACL,EAAAA,UAAA,QAAK;AAHK,SAAAA;AAAA,GAAA;AAML,MAAM,gBAAgB,CAAC,MAAc;AAC1C,SAAO,KAAK,OAAO,wBAAc;AACnC;","names":["Platform"]}
|
@@ -46,9 +46,9 @@ const handleBeatLeaderBind = (c) => __async(null, null, function* () {
|
|
46
46
|
}
|
47
47
|
}
|
48
48
|
const now = /* @__PURE__ */ new Date();
|
49
|
-
const { blAccount } = yield c.services.db.getUserAccountsByUid(c.session.
|
49
|
+
const { blAccount } = yield c.services.db.getUserAccountsByUid(c.session.user.id);
|
50
50
|
const account = {
|
51
|
-
uid: c.session.
|
51
|
+
uid: c.session.user.id,
|
52
52
|
platform: "beatleader",
|
53
53
|
platformScope: "profile clan offline_access",
|
54
54
|
platformUid: self.id,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/bind/bind-beatleader.ts"],"sourcesContent":["import {
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/bind/bind-beatleader.ts"],"sourcesContent":["import { RelateAccount } from '@/interface'\nimport {CmdContext} from \"@/interface\";\n\nexport const handleBeatLeaderBind = async (c: CmdContext) => {\n const tokenInfo = await c.services.api.AIOSaber.getBLOAuthToken(c.input)\n if (!tokenInfo) {\n c.session.sendQuote(c.session.text('commands.bsbot.bl.account.not-found'))\n return\n }\n let token = tokenInfo\n let self = await c.services.api.BeatLeader.getTokenInfo(token.access_token)\n if (!self) {\n const refreshToken = await c.services.api.BeatLeader.refreshOAuthToken(\n token.refresh_token\n )\n if (!refreshToken) {\n c.session.sendQuote(\n c.session.text('commands.bsbot.bind.bl.invalid-token')\n )\n return\n }\n token = refreshToken\n self = await c.services.api.BeatLeader.getTokenInfo(token.access_token)\n if (!self) {\n c.session.sendQuote(\n c.session.text('commands.bsbot.bind.bl.unknown-error')\n )\n return\n }\n }\n const now = new Date()\n const { blAccount } = await c.services.db.getUserAccountsByUid(c.session.user.id)\n const account: Partial<RelateAccount> = {\n uid: c.session.user.id,\n platform: 'beatleader',\n platformScope: 'profile clan offline_access',\n platformUid: self.id,\n platformUname: self.name,\n otherPlatformInfo: {},\n accessToken: token.access_token,\n refreshToken: token.refresh_token,\n lastModifiedAt: now,\n lastRefreshAt: now,\n type: 'oauth',\n status: 'ok',\n }\n if (blAccount) {\n account.id = blAccount.id\n }\n\n await c.services.db.addUserBindingInfo(account)\n c.session.sendQuote(\n c.session.text('commands.bsbot.bind.bl.success', {\n name: self.name,\n id: self.id,\n })\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAGO,MAAM,uBAAuB,CAAO,MAAkB;AAC3D,QAAM,YAAY,MAAM,EAAE,SAAS,IAAI,SAAS,gBAAgB,EAAE,KAAK;AACvE,MAAI,CAAC,WAAW;AACd,MAAE,QAAQ,UAAU,EAAE,QAAQ,KAAK,qCAAqC,CAAC;AACzE;AAAA,EACF;AACA,MAAI,QAAQ;AACZ,MAAI,OAAO,MAAM,EAAE,SAAS,IAAI,WAAW,aAAa,MAAM,YAAY;AAC1E,MAAI,CAAC,MAAM;AACT,UAAM,eAAe,MAAM,EAAE,SAAS,IAAI,WAAW;AAAA,MACnD,MAAM;AAAA,IACR;AACA,QAAI,CAAC,cAAc;AACjB,QAAE,QAAQ;AAAA,QACR,EAAE,QAAQ,KAAK,sCAAsC;AAAA,MACvD;AACA;AAAA,IACF;AACA,YAAQ;AACR,WAAO,MAAM,EAAE,SAAS,IAAI,WAAW,aAAa,MAAM,YAAY;AACtE,QAAI,CAAC,MAAM;AACT,QAAE,QAAQ;AAAA,QACR,EAAE,QAAQ,KAAK,sCAAsC;AAAA,MACvD;AACA;AAAA,IACF;AAAA,EACF;AACA,QAAM,MAAM,oBAAI,KAAK;AACrB,QAAM,EAAE,UAAU,IAAI,MAAM,EAAE,SAAS,GAAG,qBAAqB,EAAE,QAAQ,KAAK,EAAE;AAChF,QAAM,UAAkC;AAAA,IACtC,KAAK,EAAE,QAAQ,KAAK;AAAA,IACpB,UAAU;AAAA,IACV,eAAe;AAAA,IACf,aAAa,KAAK;AAAA,IAClB,eAAe,KAAK;AAAA,IACpB,mBAAmB,CAAC;AAAA,IACpB,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACA,MAAI,WAAW;AACb,YAAQ,KAAK,UAAU;AAAA,EACzB;AAEA,QAAM,EAAE,SAAS,GAAG,mBAAmB,OAAO;AAC9C,IAAE,QAAQ;AAAA,IACR,EAAE,QAAQ,KAAK,kCAAkC;AAAA,MAC/C,MAAM,KAAK;AAAA,MACX,IAAI,KAAK;AAAA,IACX,CAAC;AAAA,EACH;AACF;","names":[]}
|
@@ -40,9 +40,9 @@ const handleBeatSaverBind = (c) => __async(null, null, function* () {
|
|
40
40
|
self = yield c.services.api.BeatSaver.getTokenInfo(token.access_token);
|
41
41
|
}
|
42
42
|
const now = /* @__PURE__ */ new Date();
|
43
|
-
const { bsAccount } = yield c.services.db.getUserAccountsByUid(c.session.
|
43
|
+
const { bsAccount } = yield c.services.db.getUserAccountsByUid(c.session.user.id);
|
44
44
|
const account = {
|
45
|
-
uid: c.session.
|
45
|
+
uid: c.session.user.id,
|
46
46
|
platform: "beatsaver",
|
47
47
|
platformUid: self.id,
|
48
48
|
platformUname: self.name,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/cmd/bind/bind-beatsaver.ts"],"sourcesContent":["import { CmdContext, RelateAccount } from '@/interface'\n\nexport const handleBeatSaverBind = async
|
1
|
+
{"version":3,"sources":["../../../../src/cmd/bind/bind-beatsaver.ts"],"sourcesContent":["import { CmdContext, RelateAccount } from '@/interface'\n\nexport const handleBeatSaverBind = async (c: CmdContext) => {\n const tokenInfo = await c.services.api.AIOSaber.getBSOAuthToken(c.input)\n if (!tokenInfo) {\n c.session.sendQuote(c.session.text('commands.bsbot.bind.bs.not-found'))\n return\n }\n let token = tokenInfo\n let self = await c.services.api.BeatSaver.getTokenInfo(token.access_token)\n if (!self) {\n const refreshToken = await c.services.api.BeatSaver.refreshOAuthToken(\n token.refresh_token\n )\n if (!refreshToken) {\n c.session.sendQuote(\n c.session.text('commands.bsbot.bind.bs.invalid-token')\n )\n return\n }\n token = refreshToken\n self = await c.services.api.BeatSaver.getTokenInfo(token.access_token)\n }\n const now = new Date()\n const { bsAccount } = await c.services.db.getUserAccountsByUid(c.session.user.id)\n const account: Partial<RelateAccount> = {\n uid: c.session.user.id,\n platform: 'beatsaver',\n platformUid: self.id,\n platformUname: self.name,\n otherPlatformInfo: {},\n platformScope: 'identity,alerts',\n accessToken: token.access_token,\n refreshToken: token.refresh_token,\n lastModifiedAt: now,\n lastRefreshAt: now,\n type: 'oauth',\n status: 'ok',\n }\n if (bsAccount) {\n account.id = bsAccount.id\n }\n await c.services.db.addUserBindingInfo(account)\n c.session.sendQuote(\n c.session.text('commands.bsbot.bind.bs.success', {\n name: self.name,\n id: self.id,\n })\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEO,MAAM,sBAAsB,CAAO,MAAkB;AAC1D,QAAM,YAAY,MAAM,EAAE,SAAS,IAAI,SAAS,gBAAgB,EAAE,KAAK;AACvE,MAAI,CAAC,WAAW;AACd,MAAE,QAAQ,UAAU,EAAE,QAAQ,KAAK,kCAAkC,CAAC;AACtE;AAAA,EACF;AACA,MAAI,QAAQ;AACZ,MAAI,OAAO,MAAM,EAAE,SAAS,IAAI,UAAU,aAAa,MAAM,YAAY;AACzE,MAAI,CAAC,MAAM;AACT,UAAM,eAAe,MAAM,EAAE,SAAS,IAAI,UAAU;AAAA,MAClD,MAAM;AAAA,IACR;AACA,QAAI,CAAC,cAAc;AACjB,QAAE,QAAQ;AAAA,QACR,EAAE,QAAQ,KAAK,sCAAsC;AAAA,MACvD;AACA;AAAA,IACF;AACA,YAAQ;AACR,WAAO,MAAM,EAAE,SAAS,IAAI,UAAU,aAAa,MAAM,YAAY;AAAA,EACvE;AACA,QAAM,MAAM,oBAAI,KAAK;AACrB,QAAM,EAAE,UAAU,IAAI,MAAM,EAAE,SAAS,GAAG,qBAAqB,EAAE,QAAQ,KAAK,EAAE;AAChF,QAAM,UAAkC;AAAA,IACtC,KAAK,EAAE,QAAQ,KAAK;AAAA,IACpB,UAAU;AAAA,IACV,aAAa,KAAK;AAAA,IAClB,eAAe,KAAK;AAAA,IACpB,mBAAmB,CAAC;AAAA,IACpB,eAAe;AAAA,IACf,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACA,MAAI,WAAW;AACb,YAAQ,KAAK,UAAU;AAAA,EACzB;AACA,QAAM,EAAE,SAAS,GAAG,mBAAmB,OAAO;AAC9C,IAAE,QAAQ;AAAA,IACR,EAAE,QAAQ,KAAK,kCAAkC;AAAA,MAC/C,MAAM,KAAK;AAAA,MACX,IAAI,KAAK;AAAA,IACX,CAAC;AAAA,EACH;AACF;","names":[]}
|
@@ -22,14 +22,14 @@ import {
|
|
22
22
|
BLIDNotFoundError,
|
23
23
|
SessionPromotionCancelError,
|
24
24
|
SessionPromotionTimeoutError
|
25
|
-
} from "../../
|
25
|
+
} from "../../services/errors/index.js";
|
26
26
|
const handleBeatLeaderIDBind = (c) => __async(null, null, function* () {
|
27
27
|
const player = yield c.services.api.BeatLeader.getPlayerInfo(c.input);
|
28
28
|
if (!player) {
|
29
29
|
throw new BLIDNotFoundError({ accountId: c.input });
|
30
30
|
}
|
31
31
|
const now = /* @__PURE__ */ new Date();
|
32
|
-
const { blAccount } = yield c.services.db.getUserAccountsByUid(c.session.
|
32
|
+
const { blAccount } = yield c.services.db.getUserAccountsByUid(c.session.user.id);
|
33
33
|
const text = c.session.text("commands.bsbot.bind.ack-prompt", {
|
34
34
|
user: `${player.name}(${player.id})`
|
35
35
|
}) + (blAccount ? "," + c.session.text("commands.bsbot.bind.exist", {
|
@@ -41,7 +41,7 @@ const handleBeatLeaderIDBind = (c) => __async(null, null, function* () {
|
|
41
41
|
throw prompt ? new SessionPromotionCancelError() : new SessionPromotionTimeoutError();
|
42
42
|
}
|
43
43
|
const account = {
|
44
|
-
uid: c.session.
|
44
|
+
uid: c.session.user.id,
|
45
45
|
platform: "beatleader",
|
46
46
|
platformUid: player.id.toString(),
|
47
47
|
platformUname: player.name,
|