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
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/events/schedules/temp.ts"],"sourcesContent":["import { EventHandlerCtx } from \"@/core\";\nimport { Config } from \"@/config\";\nimport {Services} from \"@/interface\";\n\nexport const LBScoreMonitor = async (c: EventHandlerCtx<Services, Config>) => {\n const channels = await c.services.db.getSubscriptionsByType('lb-rank')\n if (channels.length <= 0) {\n return\n }\n const [hitbuf, scorebuf] = await Promise.all([\n c.services.render.renderUrl('https://aiobs.ktlab.io/tmp/lb/hitcnt', {\n selector: '#render-result',\n }),\n c.services.render.renderUrl('https://aiobs.ktlab.io/tmp/lb/score', {\n selector: '#render-result',\n }),\n ])\n for (const group of channels) {\n // 获取一个带有 Agent 的 Service\n const session = c.agentService.getAgentSessionByChannelInfo(group.channel)\n if (!session) {\n continue\n }\n await session.sendImgBuffer(hitbuf, 'image/png')\n await session.sendImgBuffer(scorebuf, 'image/png')\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,MAAM,iBAAiB,CAAO,MAAyC;AAC5E,QAAM,WAAW,MAAM,EAAE,SAAS,GAAG,uBAAuB,SAAS;AACrE,MAAI,SAAS,UAAU,GAAG;AACxB;AAAA,EACF;AACA,QAAM,CAAC,QAAQ,QAAQ,IAAI,MAAM,QAAQ,IAAI;AAAA,IAC3C,EAAE,SAAS,OAAO,UAAU,wCAAwC;AAAA,MAClE,UAAU;AAAA,IACZ,CAAC;AAAA,IACD,EAAE,SAAS,OAAO,UAAU,uCAAuC;AAAA,MACjE,UAAU;AAAA,IACZ,CAAC;AAAA,EACH,CAAC;AACD,aAAW,SAAS,UAAU;AAE5B,UAAM,UAAU,EAAE,aAAa,6BAA6B,MAAM,OAAO;AACzE,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AACA,UAAM,QAAQ,cAAc,QAAQ,WAAW;AAC/C,UAAM,QAAQ,cAAc,UAAU,WAAW;AAAA,EACnD;AACF;","names":[]}
|
@@ -43,16 +43,16 @@ __export(beatleader_exports, {
|
|
43
43
|
});
|
44
44
|
module.exports = __toCommonJS(beatleader_exports);
|
45
45
|
class BeatleaderWSHandler {
|
46
|
-
constructor(db, render, logger, config,
|
46
|
+
constructor(db, render, logger, config, agentService) {
|
47
47
|
__publicField(this, "logger");
|
48
48
|
__publicField(this, "render");
|
49
|
-
__publicField(this, "
|
49
|
+
__publicField(this, "agentService");
|
50
50
|
__publicField(this, "wsUrl", "wss://sockets.api.beatleader.xyz/scores");
|
51
51
|
__publicField(this, "db");
|
52
52
|
__publicField(this, "config");
|
53
53
|
this.logger = logger;
|
54
54
|
this.render = render;
|
55
|
-
this.
|
55
|
+
this.agentService = agentService;
|
56
56
|
this.config = config;
|
57
57
|
this.db = db;
|
58
58
|
}
|
@@ -68,17 +68,17 @@ class BeatleaderWSHandler {
|
|
68
68
|
const playerId = data.player.id;
|
69
69
|
const subscriptions = yield this.db.getAllSubscriptionByUIDAndPlatform(playerId, "beatleader");
|
70
70
|
const restSub = subscriptions.filter(
|
71
|
-
(it) => it.
|
71
|
+
(it) => it.subscription.type == "beatleader-score" && it.subscription.enabled == true
|
72
72
|
);
|
73
73
|
if (restSub.length === 0) return;
|
74
74
|
const img = yield this.render.renderScore(data.id.toString());
|
75
75
|
for (const item of restSub) {
|
76
|
-
const session = this.
|
76
|
+
const session = this.agentService.getAgentSessionByChannelInfo(item.channel);
|
77
77
|
if (!session) {
|
78
78
|
continue;
|
79
79
|
}
|
80
80
|
yield session.send(
|
81
|
-
`\u606D\u559C <at id="${item.account.
|
81
|
+
`\u606D\u559C <at id="${item.account.userId}"/> \u521A\u521A\u5728\u8C31\u9762\u300C${data.leaderboard.song.name}\u300D\u4E2D\u6253\u51FA\u4E86 ${(data.accuracy * 100).toFixed(2)}% \u7684\u597D\u6210\u7EE9`
|
82
82
|
);
|
83
83
|
yield session.sendImgBuffer(img);
|
84
84
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/events/ws/beatleader.ts"],"sourcesContent":["import { WSHandler } from './handler'\nimport { AgentService, Logger } from '@/core'\nimport { Config } from '@/config'\nimport { DB } from '@/interface/db'\nimport {RenderService} from \"@/services\";\nimport { BeatLeaderWSEvent } from \"@/services/api/interfaces/beatleader\";\n\nexport class BeatleaderWSHandler<T> implements WSHandler {\n private readonly logger: Logger\n private render: RenderService\n private agentService: AgentService\n wsUrl: string = 'wss://sockets.api.beatleader.xyz/scores'\n private db: DB\n config: Config\n constructor(\n db: DB,\n render: RenderService,\n logger: Logger,\n config: Config,\n agentService: AgentService\n ) {\n this.logger = logger\n this.render = render\n this.agentService = agentService\n this.config = config\n this.db = db\n }\n\n onOpen() {\n this.logger.info('BeatleaderWS opened')\n }\n\n onClose() {\n this.logger.info('BeatleaderWS closed')\n }\n\n async onEvent(event: any) {\n const data = JSON.parse(event.toString()) as BeatLeaderWSEvent\n const playerId = data.player.id\n // const ok = BeatLeaderFilter(data, ...this.config.BLScoreFilters)\n // if (!ok) {\n // return\n // }\n // logger.info('Received beatleader message',data.id, data.player.id);\n // cache all playerId\n const subscriptions = await this.db.getAllSubscriptionByUIDAndPlatform(playerId, 'beatleader')\n // .filter(item=> {\n // const channelFilters = item.sub.data as BLScoreFilter[]\n // const memberFilters = item.member.subscribeData\n // return BeatLeaderFilter(data, ...channelFilters, ...memberFilters)\n // })\n const restSub = subscriptions.filter((it) =>\n it.subscription.type == 'beatleader-score' && it.subscription.enabled == true\n )\n // cacheService\n if (restSub.length === 0) return\n const img = await this.render.renderScore(data.id.toString())\n for (const item of restSub) {\n const session = this.agentService.getAgentSessionByChannelInfo(item.channel)\n if (!session) {\n continue\n }\n await session.send(\n `恭喜 <at id=\"${item.account.userId}\"/> 刚刚在谱面「${data.leaderboard.song.name}」中打出了 ${(data.accuracy * 100).toFixed(2)}% 的好成绩`\n )\n await session.sendImgBuffer(img)\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,MAAM,oBAA4C;AAAA,EAOvD,YACE,IACA,QACA,QACA,QACA,cACA;AAZF,wBAAiB;AACjB,wBAAQ;AACR,wBAAQ;AACR,iCAAgB;AAChB,wBAAQ;AACR;AAQE,SAAK,SAAS;AACd,SAAK,SAAS;AACd,SAAK,eAAe;AACpB,SAAK,SAAS;AACd,SAAK,KAAK;AAAA,EACZ;AAAA,EAEA,SAAS;AACP,SAAK,OAAO,KAAK,qBAAqB;AAAA,EACxC;AAAA,EAEA,UAAU;AACR,SAAK,OAAO,KAAK,qBAAqB;AAAA,EACxC;AAAA,EAEM,QAAQ,OAAY;AAAA;AACxB,YAAM,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AACxC,YAAM,WAAW,KAAK,OAAO;AAO7B,YAAM,gBAAgB,MAAM,KAAK,GAAG,mCAAmC,UAAU,YAAY;AAM7F,YAAM,UAAU,cAAc;AAAA,QAAO,CAAC,OACpC,GAAG,aAAa,QAAQ,sBAAsB,GAAG,aAAa,WAAW;AAAA,MAC3E;AAEA,UAAI,QAAQ,WAAW,EAAG;AAC1B,YAAM,MAAM,MAAM,KAAK,OAAO,YAAY,KAAK,GAAG,SAAS,CAAC;AAC5D,iBAAW,QAAQ,SAAS;AAC1B,cAAM,UAAU,KAAK,aAAa,6BAA6B,KAAK,OAAO;AAC3E,YAAI,CAAC,SAAS;AACZ;AAAA,QACF;AACA,cAAM,QAAQ;AAAA,UACZ,wBAAc,KAAK,QAAQ,MAAM,2CAAa,KAAK,YAAY,KAAK,IAAI,mCAAU,KAAK,WAAW,KAAK,QAAQ,CAAC,CAAC;AAAA,QACnH;AACA,cAAM,QAAQ,cAAc,GAAG;AAAA,MACjC;AAAA,IACF;AAAA;AACF;","names":[]}
|
@@ -42,12 +42,12 @@ __export(beatsaver_exports, {
|
|
42
42
|
BeatSaverWSHandler: () => BeatSaverWSHandler
|
43
43
|
});
|
44
44
|
module.exports = __toCommonJS(beatsaver_exports);
|
45
|
-
var import_utils = require("
|
45
|
+
var import_utils = require("../../utils/index.js");
|
46
46
|
class BeatSaverWSHandler {
|
47
|
-
constructor(db, render, logger, config,
|
47
|
+
constructor(db, render, logger, config, agentService) {
|
48
48
|
__publicField(this, "logger");
|
49
49
|
__publicField(this, "render");
|
50
|
-
__publicField(this, "
|
50
|
+
__publicField(this, "agentService");
|
51
51
|
__publicField(this, "wsUrl", "wss://ws.beatsaver.com/maps");
|
52
52
|
__publicField(this, "db");
|
53
53
|
__publicField(this, "config");
|
@@ -65,7 +65,7 @@ class BeatSaverWSHandler {
|
|
65
65
|
));
|
66
66
|
this.logger = logger;
|
67
67
|
this.render = render;
|
68
|
-
this.
|
68
|
+
this.agentService = agentService;
|
69
69
|
this.config = config;
|
70
70
|
this.db = db;
|
71
71
|
}
|
@@ -83,35 +83,35 @@ class BeatSaverWSHandler {
|
|
83
83
|
const bsmap = data.msg;
|
84
84
|
const userId = bsmap.uploader.id;
|
85
85
|
const subscriptions = yield this.db.getAllSubscriptionByUIDAndPlatform(
|
86
|
-
userId,
|
86
|
+
String(userId),
|
87
87
|
"beatsaver"
|
88
88
|
);
|
89
89
|
const restSub = subscriptions.filter(
|
90
|
-
(it) => it.
|
90
|
+
(it) => it.subscription.type == "beatsaver-map" && it.subscription.enabled == true
|
91
91
|
);
|
92
|
-
const gids = restSub.map((it) => it.
|
92
|
+
const gids = restSub.map((it) => it.channel.id);
|
93
93
|
const groupSubs = yield this.db.getIDSubscriptionByType("id-beatsaver-map");
|
94
94
|
const restGroupSubs = groupSubs.filter(
|
95
95
|
(it) => {
|
96
96
|
var _a, _b;
|
97
|
-
return !gids.includes(it.
|
97
|
+
return !gids.includes(it.channel.id) && ((_b = (_a = it.subscription.data) == null ? void 0 : _a.mapperId) == null ? void 0 : _b.toString()) === userId.toString();
|
98
98
|
}
|
99
99
|
);
|
100
100
|
if (restSub.length === 0 && restGroupSubs) return;
|
101
101
|
const image = this.render.renderMap(bsmap);
|
102
102
|
for (const item of restSub) {
|
103
|
-
const session = this.
|
103
|
+
const session = this.agentService.getAgentSessionByChannelInfo(item.channel);
|
104
104
|
if (!session) {
|
105
105
|
continue;
|
106
106
|
}
|
107
107
|
yield session.send(
|
108
|
-
`\u672C\u7FA4\u8C31\u5E08 \u300C<at id="${item.account.
|
108
|
+
`\u672C\u7FA4\u8C31\u5E08 \u300C<at id="${item.account.userId}"/> (${bsmap.uploader.name})\u300D\u521A\u521A\u53D1\u5E03\u4E86\u65B0\u8C31\u9762\uFF0C\u300C${bsmap.name}\u300D`
|
109
109
|
);
|
110
110
|
yield session.sendImgBuffer(yield image);
|
111
111
|
yield session.sendAudioByUrl(bsmap.versions[0].previewURL);
|
112
112
|
}
|
113
113
|
for (const item of restGroupSubs) {
|
114
|
-
const session = this.
|
114
|
+
const session = this.agentService.getAgentSessionByChannelInfo(item.channel);
|
115
115
|
if (!session) {
|
116
116
|
continue;
|
117
117
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/events/ws/beatsaver.ts"],"sourcesContent":["import { WSHandler } from './handler'\nimport {AgentService, EventHandlerCtx, Logger} from '@/core'\nimport { Config } from '@/config'\nimport { DB } from '@/interface/db'\nimport { handleWSEventWithCache } from '@/utils'\nimport {BeatSaverWSEvent, BSMap} from \"@/services/api/interfaces/beatsaver\";\nimport {RenderService} from \"@/services\";\nimport {Services} from \"@/interface\";\nexport class BeatSaverWSHandler<T> implements WSHandler {\n private readonly logger: Logger\n private render: RenderService\n private agentService: AgentService\n wsUrl: string = 'wss://ws.beatsaver.com/maps'\n private db: DB\n config: Config\n constructor(\n db: DB,\n render: RenderService,\n logger: Logger,\n config: Config,\n agentService: AgentService\n ) {\n this.logger = logger\n this.render = render\n this.agentService = agentService\n this.config = config\n this.db = db\n }\n\n onOpen() {\n this.logger.info('BeatsaverWS opened')\n }\n\n onClose() {\n this.logger.info('BeatsaverWS closed')\n }\n\n eventParser(event) {\n return JSON.parse(event.toString()) as BeatSaverWSEvent\n }\n\n eventFilter = (data: BeatSaverWSEvent) => {\n return (\n data.type === 'MAP_UPDATE' &&\n data.msg.versions.some((it) => it.state == 'Published') &&\n data.msg.declaredAi === 'None'\n )\n }\n eventIdSelector = (data: BeatSaverWSEvent) =>\n `ws.bs.${data.type === 'MAP_DELETE' ? data.msg : data.msg.id}.${data.type}`\n\n async BSWSHandler(data: BeatSaverWSEvent) {\n // this.logger.info('Beatsaver message received', data.type, data?.msg?.id)\n\n const bsmap = data.msg as BSMap\n const userId = bsmap.uploader.id\n const subscriptions = await this.db.getAllSubscriptionByUIDAndPlatform(\n String(userId),\n 'beatsaver'\n )\n\n const restSub = subscriptions.filter(\n (it) =>\n it.subscription.type == 'beatsaver-map' && it.subscription.enabled == true\n )\n const gids = restSub.map((it) => it.channel.id)\n const groupSubs = await this.db.getIDSubscriptionByType('id-beatsaver-map')\n const restGroupSubs = groupSubs.filter(\n (it) =>\n !gids.includes(it.channel.id) &&\n it.subscription.data?.mapperId?.toString() === userId.toString()\n )\n\n // cacheService\n if (restSub.length === 0 && restGroupSubs) return\n const image = this.render.renderMap(bsmap)\n for (const item of restSub) {\n const session = this.agentService.getAgentSessionByChannelInfo(item.channel)\n if (!session) {\n continue\n }\n await session.send(\n `本群谱师 「<at id=\"${item.account.userId}\"/> (${bsmap.uploader.name})」刚刚发布了新谱面,「${bsmap.name}」`\n )\n // text + mention element\n await session.sendImgBuffer(await image)\n await session.sendAudioByUrl(bsmap.versions[0].previewURL)\n }\n for (const item of restGroupSubs) {\n const session = this.agentService.getAgentSessionByChannelInfo(item.channel)\n if (!session) {\n continue\n }\n await session.send(\n `谱师「${bsmap.uploader.name}」刚刚发布了新谱面,「${bsmap.name}」`\n )\n // text + mention element\n await session.sendImgBuffer(await image)\n await session.sendAudioByUrl(bsmap.versions[0].previewURL)\n }\n }\n\n onEvent = handleWSEventWithCache(\n this,\n this.BSWSHandler,\n 1000 * 60 * 15,\n this.eventParser,\n this.eventFilter,\n this.eventIdSelector\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,mBAAuC;AAIhC,MAAM,mBAA2C;AAAA,EAOtD,YACE,IACA,QACA,QACA,QACA,cACA;AAZF,wBAAiB;AACjB,wBAAQ;AACR,wBAAQ;AACR,iCAAgB;AAChB,wBAAQ;AACR;AA2BA,uCAAc,CAAC,SAA2B;AACxC,aACE,KAAK,SAAS,gBACd,KAAK,IAAI,SAAS,KAAK,CAAC,OAAO,GAAG,SAAS,WAAW,KACtD,KAAK,IAAI,eAAe;AAAA,IAE5B;AACA,2CAAkB,CAAC,SACjB,SAAS,KAAK,SAAS,eAAe,KAAK,MAAM,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI;AAqD3E,uCAAU;AAAA,MACR;AAAA,MACA,KAAK;AAAA,MACL,MAAO,KAAK;AAAA,MACZ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAvFE,SAAK,SAAS;AACd,SAAK,SAAS;AACd,SAAK,eAAe;AACpB,SAAK,SAAS;AACd,SAAK,KAAK;AAAA,EACZ;AAAA,EAEA,SAAS;AACP,SAAK,OAAO,KAAK,oBAAoB;AAAA,EACvC;AAAA,EAEA,UAAU;AACR,SAAK,OAAO,KAAK,oBAAoB;AAAA,EACvC;AAAA,EAEA,YAAY,OAAO;AACjB,WAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAAA,EACpC;AAAA,EAYM,YAAY,MAAwB;AAAA;AAGxC,YAAM,QAAQ,KAAK;AACnB,YAAM,SAAS,MAAM,SAAS;AAC9B,YAAM,gBAAgB,MAAM,KAAK,GAAG;AAAA,QAClC,OAAO,MAAM;AAAA,QACb;AAAA,MACF;AAEA,YAAM,UAAU,cAAc;AAAA,QAC5B,CAAC,OACC,GAAG,aAAa,QAAQ,mBAAmB,GAAG,aAAa,WAAW;AAAA,MAC1E;AACA,YAAM,OAAO,QAAQ,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE;AAC9C,YAAM,YAAY,MAAM,KAAK,GAAG,wBAAwB,kBAAkB;AAC1E,YAAM,gBAAgB,UAAU;AAAA,QAC9B,CAAC,OAAI;AApEX;AAqEQ,kBAAC,KAAK,SAAS,GAAG,QAAQ,EAAE,OAC5B,cAAG,aAAa,SAAhB,mBAAsB,aAAtB,mBAAgC,gBAAe,OAAO,SAAS;AAAA;AAAA,MACnE;AAGA,UAAI,QAAQ,WAAW,KAAK,cAAe;AAC3C,YAAM,QAAQ,KAAK,OAAO,UAAU,KAAK;AACzC,iBAAW,QAAQ,SAAS;AAC1B,cAAM,UAAU,KAAK,aAAa,6BAA6B,KAAK,OAAO;AAC3E,YAAI,CAAC,SAAS;AACZ;AAAA,QACF;AACA,cAAM,QAAQ;AAAA,UACZ,0CAAiB,KAAK,QAAQ,MAAM,QAAQ,MAAM,SAAS,IAAI,sEAAe,MAAM,IAAI;AAAA,QAC1F;AAEA,cAAM,QAAQ,cAAc,MAAM,KAAK;AACvC,cAAM,QAAQ,eAAe,MAAM,SAAS,CAAC,EAAE,UAAU;AAAA,MAC3D;AACA,iBAAW,QAAQ,eAAe;AAChC,cAAM,UAAU,KAAK,aAAa,6BAA6B,KAAK,OAAO;AAC3E,YAAI,CAAC,SAAS;AACZ;AAAA,QACF;AACA,cAAM,QAAQ;AAAA,UACZ,qBAAM,MAAM,SAAS,IAAI,qEAAc,MAAM,IAAI;AAAA,QACnD;AAEA,cAAM,QAAQ,cAAc,MAAM,KAAK;AACvC,cAAM,QAAQ,eAAe,MAAM,SAAS,CAAC,EAAE,UAAU;AAAA,MAC3D;AAAA,IACF;AAAA;AAUF;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/events/ws/handler.ts"],"sourcesContent":["export interface WSHandler {\n wsUrl: string\n onOpen?: () => void\n onClose?: () => void\n onEvent?: (event: any) => void\n}\n\n//EventHandlerCtx\n"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
@@ -14,15 +14,13 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
15
15
|
var ws_exports = {};
|
16
16
|
module.exports = __toCommonJS(ws_exports);
|
17
|
-
__reExport(ws_exports, require("./beatleader"), module.exports);
|
18
|
-
__reExport(ws_exports, require("./
|
19
|
-
__reExport(ws_exports, require("./
|
20
|
-
__reExport(ws_exports, require("./handler"), module.exports);
|
17
|
+
__reExport(ws_exports, require("./beatleader.js"), module.exports);
|
18
|
+
__reExport(ws_exports, require("./beatsaver.js"), module.exports);
|
19
|
+
__reExport(ws_exports, require("./handler.js"), module.exports);
|
21
20
|
// Annotate the CommonJS export names for ESM import in node:
|
22
21
|
0 && (module.exports = {
|
23
|
-
...require("./beatleader"),
|
24
|
-
...require("./
|
25
|
-
...require("./
|
26
|
-
...require("./handler")
|
22
|
+
...require("./beatleader.js"),
|
23
|
+
...require("./beatsaver.js"),
|
24
|
+
...require("./handler.js")
|
27
25
|
});
|
28
26
|
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/events/ws/index.ts"],"sourcesContent":["export * from './beatleader'\nexport * from './beatsaver'\nexport * from './handler'\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;AAAA,uBAAc,yBAAd;AACA,uBAAc,wBADd;AAEA,uBAAc,sBAFd;","names":[]}
|
package/dist/cjs/index.js
CHANGED
@@ -18,33 +18,42 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
19
|
var index_exports = {};
|
20
20
|
__export(index_exports, {
|
21
|
+
SessionAgent: () => import_domain.SessionAgent,
|
21
22
|
getBot: () => getBot
|
22
23
|
});
|
23
24
|
module.exports = __toCommonJS(index_exports);
|
24
|
-
var import_cmd = require("./cmd");
|
25
|
-
var import_schedules = require("./schedules");
|
26
|
-
__reExport(index_exports, require("./interface"), module.exports);
|
27
|
-
__reExport(index_exports, require("./schedules"), module.exports);
|
28
|
-
__reExport(index_exports, require("./config"), module.exports);
|
29
|
-
__reExport(index_exports, require("./cmd"), module.exports);
|
30
|
-
__reExport(index_exports, require("./ws"), module.exports);
|
31
|
-
__reExport(index_exports, require("./utils"), module.exports);
|
32
|
-
__reExport(index_exports, require("./
|
33
|
-
__reExport(index_exports, require("./
|
25
|
+
var import_cmd = require("./cmd/index.js");
|
26
|
+
var import_schedules = require("./events/schedules/index.js");
|
27
|
+
__reExport(index_exports, require("./interface/index.js"), module.exports);
|
28
|
+
__reExport(index_exports, require("./events/schedules/index.js"), module.exports);
|
29
|
+
__reExport(index_exports, require("./config.js"), module.exports);
|
30
|
+
__reExport(index_exports, require("./cmd/index.js"), module.exports);
|
31
|
+
__reExport(index_exports, require("./events/ws/index.js"), module.exports);
|
32
|
+
__reExport(index_exports, require("./utils/index.js"), module.exports);
|
33
|
+
__reExport(index_exports, require("./services/index.js"), module.exports);
|
34
|
+
__reExport(index_exports, require("./common/s3/index.js"), module.exports);
|
35
|
+
__reExport(index_exports, require("./common/render/index.js"), module.exports);
|
36
|
+
__reExport(index_exports, require("./core/session.js"), module.exports);
|
37
|
+
__reExport(index_exports, require("./core/logger.js"), module.exports);
|
38
|
+
var import_domain = require("./core/domain.js");
|
34
39
|
const getBot = (config) => ({
|
35
40
|
commands: (0, import_cmd.botCommands)(),
|
36
41
|
schedule: (0, import_schedules.getScheduleTasks)(config)
|
37
42
|
});
|
38
43
|
// Annotate the CommonJS export names for ESM import in node:
|
39
44
|
0 && (module.exports = {
|
45
|
+
SessionAgent,
|
40
46
|
getBot,
|
41
|
-
...require("./interface"),
|
42
|
-
...require("./schedules"),
|
43
|
-
...require("./config"),
|
44
|
-
...require("./cmd"),
|
45
|
-
...require("./ws"),
|
46
|
-
...require("./utils"),
|
47
|
-
...require("./
|
48
|
-
...require("./
|
47
|
+
...require("./interface/index.js"),
|
48
|
+
...require("./events/schedules/index.js"),
|
49
|
+
...require("./config.js"),
|
50
|
+
...require("./cmd/index.js"),
|
51
|
+
...require("./events/ws/index.js"),
|
52
|
+
...require("./utils/index.js"),
|
53
|
+
...require("./services/index.js"),
|
54
|
+
...require("./common/s3/index.js"),
|
55
|
+
...require("./common/render/index.js"),
|
56
|
+
...require("./core/session.js"),
|
57
|
+
...require("./core/logger.js")
|
49
58
|
});
|
50
59
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import {botCommands} from \"
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import {botCommands} from \"./cmd\";\nimport type {Config} from \"./config\";\nimport {getScheduleTasks} from \"./events/schedules\";\nexport * from './interface'\nexport * from './events/schedules'\nexport * from './config'\nexport * from './cmd'\nexport * from './events/ws'\nexport * from './utils'\nexport * from './services'\nexport * from '@/common/s3'\nexport * from '@/common/render'\nexport * from '@/core/session'\nexport * from '@/core/logger'\nexport { SessionAgent } from '@/core/domain'\n\nexport const getBot = (config: Config) => ({\n commands: botCommands(),\n schedule: getScheduleTasks(config),\n})\n\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA0B;AAE1B,uBAA+B;AAC/B,0BAAc,wBAHd;AAIA,0BAAc,+BAJd;AAKA,0BAAc,qBALd;AAMA,0BAAc,kBANd;AAOA,0BAAc,wBAPd;AAQA,0BAAc,oBARd;AASA,0BAAc,uBATd;AAUA,0BAAc,wBAVd;AAWA,0BAAc,4BAXd;AAYA,0BAAc,2BAZd;AAaA,0BAAc,0BAbd;AAcA,oBAA6B;AAEtB,MAAM,SAAS,CAAC,YAAoB;AAAA,EACzC,cAAU,wBAAY;AAAA,EACtB,cAAU,mCAAiB,MAAM;AACnC;","names":[]}
|
@@ -10,13 +10,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
10
10
|
}
|
11
11
|
return to;
|
12
12
|
};
|
13
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
14
13
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
15
14
|
var db_exports = {};
|
16
15
|
module.exports = __toCommonJS(db_exports);
|
17
|
-
__reExport(db_exports, require("./models"), module.exports);
|
18
|
-
// Annotate the CommonJS export names for ESM import in node:
|
19
|
-
0 && (module.exports = {
|
20
|
-
...require("./models")
|
21
|
-
});
|
22
16
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/interface/db/index.ts"],"sourcesContent":["import {\n
|
1
|
+
{"version":3,"sources":["../../../../src/interface/db/index.ts"],"sourcesContent":["import type {\n Account,\n Subscription,\n SubscriptionMember,\n} from './models'\nimport {Channel, User} from \"@/core\";\n\nexport type {\n User,\n Channel,\n Account,\n Subscription,\n SubscriptionMember,\n Preference\n} from './models'\n\nexport interface SubInfoRes {\n subscription: Subscription\n memberCount: number\n me: any\n}\n\nexport interface SubInfoRes {\n subscription: Subscription\n memberCount: number\n me: any\n}\n\nexport interface SubDetailWithGroupRes {\n account: Account\n user: User\n channel: Channel\n subscriptionMember: SubscriptionMember\n subscription: Subscription\n}\n\nexport interface SubWithGroupRes {\n subscription: Subscription\n channel: Channel\n}\n\nexport interface DB {\n // preference\n storeUserPreference<V = any>(uid: string, value: V): Promise<boolean>\n getUserPreference<V = any>(uid: string): Promise<V>\n // user account\n getUserAccountsByUid(id: string): Promise<Record<string, Account>>\n addUserBindingInfo(account: Partial<Account>): Promise<void>\n // subscription\n upsertSubscription(data: Partial<Subscription>): Promise<void>\n getSubscriptionInfoByUGID(gid: string, uid: string): Promise<SubInfoRes[]>\n getSubscriptionsByGID(gid: string): Promise<Record<string, Subscription>>\n getIDSubscriptionByGID(gid: string): Promise<Subscription[]>\n getIDSubscriptionByType(type: string): Promise<SubWithGroupRes[]>\n removeIDSubscriptionByID(id: string): Promise<void>\n getIDSubscriptionByChannelIDAndType(gid: string, type: string): Promise<Subscription[]>\n getAllSubscriptionByUIDAndPlatform(id: string, type: string): Promise<SubDetailWithGroupRes[]>\n getSubscriptionsByType(type: string): Promise<SubWithGroupRes[]>\n addSubscribeMember(data: Partial<SubscriptionMember>): Promise<void>\n removeFromSubGroupBySubAndUid(subId: string, id: string): Promise<void>\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/interface/db/models.ts"],"sourcesContent":["export interface
|
1
|
+
{"version":3,"sources":["../../../../src/interface/db/models.ts"],"sourcesContent":["export interface User {\n id: string\n name: string\n createdAt: Date\n updatedAt: Date\n}\n\nexport interface Channel {\n id: string\n // provider channel id\n channelId: string;\n providerId: string;\n createdAt?: Date\n updatedAt?: Date\n}\n\n// agent 是易失的,应该存储在内存中?不,应该放在存储中,然后用状态字段进行区分。\n// agent 与 Channel 的关系也是易变的。\n// agent, agent2channel\nexport interface Agent {\n id: string;\n providerId: string;\n accountId: string;\n status: string;\n enabled: boolean;\n}\nexport interface Agent2Channel {\n agentId: string;\n channelId: string;\n}\n\nexport interface Account<T = any> {\n id: string\n userId: string\n providerId: string\n // provider account id\n accountId: string\n // oauth | id\n type: string\n providerUsername?: string\n scope?: string\n accessToken?: string\n accessTokenExpiresAt?: Date\n refreshToken?: string\n refreshTokenExpiresAt?: Date\n idToken?: string\n metadata?: T\n lastModifiedAt: Date\n lastRefreshAt: Date\n createdAt: Date\n}\n\nexport interface Subscription {\n id: string\n channelId: string\n type: string\n enabled: boolean\n data: any\n createdAt: Date\n updatedAt: Date\n}\n\nexport interface SubscriptionMember {\n subscribeId: string\n memberId: string\n subscribeData: any\n createdAt: Date\n updatedAt: Date\n}\n\n\n\nexport type Preference<T = any> = {\n userId: string\n channelId: string\n data: T\n createdAt: Date\n updatedAt: Date\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
@@ -18,30 +18,21 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
19
|
var interface_exports = {};
|
20
20
|
__export(interface_exports, {
|
21
|
-
|
22
|
-
parsePlatform: () => parsePlatform
|
21
|
+
CommandBuilder: () => CommandBuilder
|
23
22
|
});
|
24
23
|
module.exports = __toCommonJS(interface_exports);
|
25
|
-
|
26
|
-
__reExport(interface_exports, require("./
|
27
|
-
__reExport(interface_exports, require("
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
return Platform2;
|
34
|
-
})(Platform || {});
|
35
|
-
const parsePlatform = (p) => {
|
36
|
-
return p == "ss" ? "scoresaber" /* SS */ : "beatleader" /* BL */;
|
37
|
-
};
|
24
|
+
var import_core = require("../core/index.js");
|
25
|
+
__reExport(interface_exports, require("./db/index.js"), module.exports);
|
26
|
+
__reExport(interface_exports, require("../core/session.js"), module.exports);
|
27
|
+
class CommandBuilder extends import_core.CommandBuilder {
|
28
|
+
// static create(name: string) {
|
29
|
+
// return _CommandBuilder.create<Services<any>, Config, {}>(name)
|
30
|
+
// }
|
31
|
+
}
|
38
32
|
// Annotate the CommonJS export names for ESM import in node:
|
39
33
|
0 && (module.exports = {
|
40
|
-
|
41
|
-
|
42
|
-
...require("
|
43
|
-
...require("./logger"),
|
44
|
-
...require("./bot"),
|
45
|
-
...require("./cmd/type")
|
34
|
+
CommandBuilder,
|
35
|
+
...require("./db/index.js"),
|
36
|
+
...require("../core/session.js")
|
46
37
|
});
|
47
38
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/interface/index.ts"],"sourcesContent":["
|
1
|
+
{"version":3,"sources":["../../../src/interface/index.ts"],"sourcesContent":["import {DB} from \"@/interface/db\";\nimport {APIService, I18nService, RenderService} from \"@/services\";\nimport {CommandBuilder as _CommandBuilder, CmdContext as _CmdContext, Command as _Command} from \"@/core\";\nimport {Config} from \"@/config\";\nimport {S3Service} from \"@/common/s3\";\nexport * from './db'\n\nexport type Services = {\n db: DB,\n api: APIService,\n render: RenderService,\n i18n: I18nService,\n s3: S3Service\n}\n\nexport class CommandBuilder<T, OPT = unknown> extends _CommandBuilder<Services, Config, OPT> {\n // static create(name: string) {\n // return _CommandBuilder.create<Services<any>, Config, {}>(name)\n // }\n}\n\nexport type CmdContext<O = unknown> = _CmdContext<Services, Config, O>\n\nexport type Command<O = unknown> = _Command<Services, Config, O>\nexport * from '@/core/session'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,kBAAgG;AAGhG,8BAAc,iBALd;AAwBA,8BAAc,2BAxBd;AAeO,MAAM,uBAAyC,YAAAA,eAAuC;AAAA;AAAA;AAAA;AAI7F;","names":["_CommandBuilder"]}
|
@@ -42,7 +42,7 @@ __export(aioclient_exports, {
|
|
42
42
|
AIOSaberClient: () => AIOSaberClient
|
43
43
|
});
|
44
44
|
module.exports = __toCommonJS(aioclient_exports);
|
45
|
-
var import_fetch = require("../../../
|
45
|
+
var import_fetch = require("../../../common/fetch/index.js");
|
46
46
|
class AIOSaberClient {
|
47
47
|
constructor(logger) {
|
48
48
|
__publicField(this, "f");
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../src/services/api/base/aioclient.ts"],"sourcesContent":["import { createFetch, Fetch } from '@/common/fetch'\nimport { Logger } from '@/core'\nimport { AioOauthTokenResponse } from '../interfaces/aiosaber'\n\nexport class AIOSaberClient {\n f: Fetch\n constructor(logger: Logger) {\n this.f = createFetch(logger).baseUrl('https://abs.ktlab.io')\n }\n async getBSOAuthToken(key: string) {\n return this.f.get<AioOauthTokenResponse>(\n `/api/oauth/beatsaver/token/${key}`\n )\n }\n async getBLOAuthToken(key: string) {\n return this.f.get<AioOauthTokenResponse>(\n `/api/oauth/beatleader/token/${key}`\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AAI5B,MAAM,eAAe;AAAA,EAE1B,YAAY,QAAgB;AAD5B;AAEE,SAAK,QAAI,0BAAY,MAAM,EAAE,QAAQ,sBAAsB;AAAA,EAC7D;AAAA,EACM,gBAAgB,KAAa;AAAA;AACjC,aAAO,KAAK,EAAE;AAAA,QACZ,8BAA8B,GAAG;AAAA,MACnC;AAAA,IACF;AAAA;AAAA,EACM,gBAAgB,KAAa;AAAA;AACjC,aAAO,KAAK,EAAE;AAAA,QACZ,+BAA+B,GAAG;AAAA,MACpC;AAAA,IACF;AAAA;AACF;","names":[]}
|
@@ -42,7 +42,7 @@ __export(blclient_exports, {
|
|
42
42
|
BeatLeaderClient: () => BeatLeaderClient
|
43
43
|
});
|
44
44
|
module.exports = __toCommonJS(blclient_exports);
|
45
|
-
var import_fetch = require("../../../
|
45
|
+
var import_fetch = require("../../../common/fetch/index.js");
|
46
46
|
class BeatLeaderClient {
|
47
47
|
constructor(opt) {
|
48
48
|
__publicField(this, "f");
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../src/services/api/base/blclient.ts"],"sourcesContent":["import { OAuthTokenInfoResponse, OAuthTokenResponse } from '../interfaces'\nimport { createFetch, Fetch } from '@/common/fetch'\nimport { Logger } from '@/core'\nimport {\n BeadLeaderScoresResponse,\n BeatLeaderPlayerScoreRequest,\n BeatLeaderUser,\n Leaderboard,\n Score,\n} from '../interfaces/beatleader'\n\ntype ClientOptions = {\n client_id?: string\n client_secret?: string\n logger?: Logger\n}\n\nexport class BeatLeaderClient {\n f: Fetch\n opt?: ClientOptions\n constructor(opt?: ClientOptions) {\n this.f = createFetch(opt?.logger).baseUrl('https://api.beatleader.xyz').extend({\n ignoreResponseError: false,\n })\n }\n async getPlayerScore(req: BeatLeaderPlayerScoreRequest) {\n const res = await this.f.get<Leaderboard>(\n `/score/${req.leaderboardContext}/${req.playerID}/${req.hash}/${req.diff}/${req.mode}`\n )\n return res\n }\n\n async getTokenInfo(accessToken: string) {\n return this.f.get<OAuthTokenInfoResponse>(`/oauth2/identity`, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n })\n }\n\n async refreshOAuthToken(refreshToken: string) {\n return this.f.post<OAuthTokenResponse>(\n 'https://beatsaver.com/api/oauth2/token',\n {\n form: {\n client_id: this.opt.client_id,\n client_secret: this.opt.client_secret,\n grant_type: 'refresh_token',\n refresh_token: refreshToken,\n },\n }\n )\n }\n\n async getPlayerInfo(accountId: string) {\n return this.f.get<BeatLeaderUser>(`/player/${accountId}`)\n }\n\n async getPlayerScores(accountId: string) {\n return this.f.get<BeadLeaderScoresResponse>(\n `/player/${accountId}/scores?count=24&sortBy=pp`\n )\n }\n async getPlayerPinnedScores(accountId: string) {\n return this.f.get<Score[]>(`/player/${accountId}/pinnedScores`)\n }\n\n async getBeatScore(scoreId: string) {\n return this.f.get<Score>(`/score/${scoreId}`)\n }\n\n async getLeaderboard(leaderboardId: string, params?: Record<string, any>) {\n return this.f.get(`/leaderboard/${leaderboardId}`, { query: params })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAmC;AAgB5B,MAAM,iBAAiB;AAAA,EAG5B,YAAY,KAAqB;AAFjC;AACA;AAEE,SAAK,QAAI,0BAAY,2BAAK,MAAM,EAAE,QAAQ,4BAA4B,EAAE,OAAO;AAAA,MAC7E,qBAAqB;AAAA,IACvB,CAAC;AAAA,EACH;AAAA,EACM,eAAe,KAAmC;AAAA;AACtD,YAAM,MAAM,MAAM,KAAK,EAAE;AAAA,QACvB,UAAU,IAAI,kBAAkB,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AAAA,MACtF;AACA,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,aAAa,aAAqB;AAAA;AACtC,aAAO,KAAK,EAAE,IAA4B,oBAAoB;AAAA,QAC5D,SAAS;AAAA,UACP,eAAe,UAAU,WAAW;AAAA,QACtC;AAAA,MACF,CAAC;AAAA,IACH;AAAA;AAAA,EAEM,kBAAkB,cAAsB;AAAA;AAC5C,aAAO,KAAK,EAAE;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAM;AAAA,YACJ,WAAW,KAAK,IAAI;AAAA,YACpB,eAAe,KAAK,IAAI;AAAA,YACxB,YAAY;AAAA,YACZ,eAAe;AAAA,UACjB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA,EAEM,cAAc,WAAmB;AAAA;AACrC,aAAO,KAAK,EAAE,IAAoB,WAAW,SAAS,EAAE;AAAA,IAC1D;AAAA;AAAA,EAEM,gBAAgB,WAAmB;AAAA;AACvC,aAAO,KAAK,EAAE;AAAA,QACZ,WAAW,SAAS;AAAA,MACtB;AAAA,IACF;AAAA;AAAA,EACM,sBAAsB,WAAmB;AAAA;AAC7C,aAAO,KAAK,EAAE,IAAa,WAAW,SAAS,eAAe;AAAA,IAChE;AAAA;AAAA,EAEM,aAAa,SAAiB;AAAA;AAClC,aAAO,KAAK,EAAE,IAAW,UAAU,OAAO,EAAE;AAAA,IAC9C;AAAA;AAAA,EAEM,eAAe,eAAuB,QAA8B;AAAA;AACxE,aAAO,KAAK,EAAE,IAAI,gBAAgB,aAAa,IAAI,EAAE,OAAO,OAAO,CAAC;AAAA,IACtE;AAAA;AACF;","names":[]}
|
@@ -55,8 +55,8 @@ __export(bsclient_exports, {
|
|
55
55
|
BeatSaverClient: () => BeatSaverClient
|
56
56
|
});
|
57
57
|
module.exports = __toCommonJS(bsclient_exports);
|
58
|
-
var import_fetch = require("../../../
|
59
|
-
var import_error = require("../../../
|
58
|
+
var import_fetch = require("../../../common/fetch/index.js");
|
59
|
+
var import_error = require("../../../common/fetch/error.js");
|
60
60
|
class BeatSaverClient {
|
61
61
|
constructor(opt) {
|
62
62
|
__publicField(this, "f");
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../src/services/api/base/bsclient.ts"],"sourcesContent":["import { OAuthTokenInfoResponse, OAuthTokenResponse } from '../interfaces'\nimport { createFetch, Fetch } from '@/common/fetch'\nimport { Logger } from '@/core'\n\nimport {\n BSMap,\n BSMapLatestResponse,\n BSUserResponse,\n HashReqResponse,\n} from '../interfaces/beatsaver'\nimport {NotFoundError} from \"@/common/fetch/error\";\n\ntype ClientOptions = {\n logger?: Logger,\n host?: string,\n client_id?: string,\n client_secret?: string\n f?: Fetch\n}\n\nexport class BeatSaverClient {\n f: Fetch\n opt?: ClientOptions\n constructor(opt?: ClientOptions) {\n this.opt = opt\n this.f = opt.f || createFetch(opt.logger)\n .baseUrl(opt.host ?? 'https://api.beatsaver.com')\n .extend({\n ignoreResponseError: false,\n onResponseError: (context) => {\n if (\n context.response.status === 404 ||\n context.response.status === 400\n ) {\n throw new NotFoundError()\n }\n },\n })\n }\n async getBSMapperById(userId: string) {\n return this.f.get<BSUserResponse>(`/users/id/${userId}`)\n }\n\n async getLatestMaps(pageSize: number = 5) {\n return this.f\n .get<BSMapLatestResponse>(`/maps/latest`, {\n query: {\n sort: 'FIRST_PUBLISHED',\n pageSize,\n },\n })\n .then((res) => res.docs)\n }\n\n async searchMapByKeyword(\n key: string,\n params?: Record<string, boolean | number | string>\n ) {\n return this.f\n .get<BSMapLatestResponse>(`/search/text/0`, {\n query: {\n q: key,\n ...params,\n },\n })\n .then((res) => res.docs)\n }\n\n async searchMapById(id: string) {\n return this.f.get<BSMap>(`/maps/id/${id}`)\n }\n async getTokenInfo(ak: string) {\n return this.f.get<OAuthTokenInfoResponse>(`/oauth2/identity`, {\n headers: {\n Authorization: `Bearer ${ak}`,\n },\n })\n }\n\n async getMapsByHashes(hashes: string[]) {\n return this.f.get<HashReqResponse>(`/maps/hash/${hashes.join(',')}`)\n }\n\n async refreshOAuthToken(rk: string) {\n return this.f.post<OAuthTokenResponse>(\n 'https://beatsaver.com/api/oauth2/token',\n {\n form: {\n client_id: this.opt.client_id,\n client_secret: this.opt.client_secret,\n grant_type: 'refresh_token',\n refresh_token: rk,\n },\n }\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAmC;AASnC,mBAA4B;AAUrB,MAAM,gBAAgB;AAAA,EAG3B,YAAY,KAAqB;AAFjC;AACA;AAtBF;AAwBI,SAAK,MAAM;AACX,SAAK,IAAI,IAAI,SAAK,0BAAY,IAAI,MAAM,EACrC,SAAQ,SAAI,SAAJ,YAAY,2BAA2B,EAC/C,OAAO;AAAA,MACN,qBAAqB;AAAA,MACrB,iBAAiB,CAAC,YAAY;AAC5B,YACE,QAAQ,SAAS,WAAW,OAC5B,QAAQ,SAAS,WAAW,KAC5B;AACA,gBAAM,IAAI,2BAAc;AAAA,QAC1B;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACL;AAAA,EACM,gBAAgB,QAAgB;AAAA;AACpC,aAAO,KAAK,EAAE,IAAoB,aAAa,MAAM,EAAE;AAAA,IACzD;AAAA;AAAA,EAEM,cAAc,WAAmB,GAAG;AAAA;AACxC,aAAO,KAAK,EACT,IAAyB,gBAAgB;AAAA,QACxC,OAAO;AAAA,UACL,MAAM;AAAA,UACN;AAAA,QACF;AAAA,MACF,CAAC,EACA,KAAK,CAAC,QAAQ,IAAI,IAAI;AAAA,IAC3B;AAAA;AAAA,EAEM,mBACJ,KACA,QACA;AAAA;AACA,aAAO,KAAK,EACT,IAAyB,kBAAkB;AAAA,QAC1C,OAAO;AAAA,UACL,GAAG;AAAA,WACA;AAAA,MAEP,CAAC,EACA,KAAK,CAAC,QAAQ,IAAI,IAAI;AAAA,IAC3B;AAAA;AAAA,EAEM,cAAc,IAAY;AAAA;AAC9B,aAAO,KAAK,EAAE,IAAW,YAAY,EAAE,EAAE;AAAA,IAC3C;AAAA;AAAA,EACM,aAAa,IAAY;AAAA;AAC7B,aAAO,KAAK,EAAE,IAA4B,oBAAoB;AAAA,QAC5D,SAAS;AAAA,UACP,eAAe,UAAU,EAAE;AAAA,QAC7B;AAAA,MACF,CAAC;AAAA,IACH;AAAA;AAAA,EAEM,gBAAgB,QAAkB;AAAA;AACtC,aAAO,KAAK,EAAE,IAAqB,cAAc,OAAO,KAAK,GAAG,CAAC,EAAE;AAAA,IACrE;AAAA;AAAA,EAEM,kBAAkB,IAAY;AAAA;AAClC,aAAO,KAAK,EAAE;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAM;AAAA,YACJ,WAAW,KAAK,IAAI;AAAA,YACpB,eAAe,KAAK,IAAI;AAAA,YACxB,YAAY;AAAA,YACZ,eAAe;AAAA,UACjB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AACF;","names":[]}
|
@@ -14,15 +14,15 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
15
15
|
var base_exports = {};
|
16
16
|
module.exports = __toCommonJS(base_exports);
|
17
|
-
__reExport(base_exports, require("./ssclient"), module.exports);
|
18
|
-
__reExport(base_exports, require("./blclient"), module.exports);
|
19
|
-
__reExport(base_exports, require("./aioclient"), module.exports);
|
20
|
-
__reExport(base_exports, require("./bsclient"), module.exports);
|
17
|
+
__reExport(base_exports, require("./ssclient.js"), module.exports);
|
18
|
+
__reExport(base_exports, require("./blclient.js"), module.exports);
|
19
|
+
__reExport(base_exports, require("./aioclient.js"), module.exports);
|
20
|
+
__reExport(base_exports, require("./bsclient.js"), module.exports);
|
21
21
|
// Annotate the CommonJS export names for ESM import in node:
|
22
22
|
0 && (module.exports = {
|
23
|
-
...require("./ssclient"),
|
24
|
-
...require("./blclient"),
|
25
|
-
...require("./aioclient"),
|
26
|
-
...require("./bsclient")
|
23
|
+
...require("./ssclient.js"),
|
24
|
+
...require("./blclient.js"),
|
25
|
+
...require("./aioclient.js"),
|
26
|
+
...require("./bsclient.js")
|
27
27
|
});
|
28
28
|
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../src/services/api/base/index.ts"],"sourcesContent":["export * from './ssclient'\nexport * from './blclient'\nexport * from './aioclient'\nexport * from './bsclient'\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;AAAA,yBAAc,uBAAd;AACA,yBAAc,uBADd;AAEA,yBAAc,wBAFd;AAGA,yBAAc,uBAHd;","names":[]}
|
@@ -42,8 +42,8 @@ __export(ssclient_exports, {
|
|
42
42
|
ScoreSaberClient: () => ScoreSaberClient
|
43
43
|
});
|
44
44
|
module.exports = __toCommonJS(ssclient_exports);
|
45
|
-
var import_fetch = require("../../../
|
46
|
-
var import_error = require("../../../
|
45
|
+
var import_fetch = require("../../../common/fetch/index.js");
|
46
|
+
var import_error = require("../../../common/fetch/error.js");
|
47
47
|
class ScoreSaberClient {
|
48
48
|
constructor(logger) {
|
49
49
|
__publicField(this, "f");
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../src/services/api/base/ssclient.ts"],"sourcesContent":["import {\n ScoreSaberUser,\n ScoreSaberUserResponse,\n} from '../interfaces/scoresaber'\nimport { ScoresaberLeaderboardResp } from '../interfaces/scoresaber/leaderboard'\nimport { createFetch, Fetch } from '@/common/fetch'\nimport { Logger } from '@/core'\nimport {NotFoundError} from \"@/common/fetch/error\";\nexport class ScoreSaberClient {\n f: Fetch\n constructor(logger: Logger) {\n this.f = createFetch(logger).extend({\n baseURL: 'https://scoresaber.com',\n ignoreResponseError: false,\n onResponseError: (context) => {\n if (\n context.response.status === 500 ||\n context.response.status === 404\n ) {\n throw new NotFoundError()\n }\n },\n })\n }\n async getScoreUserById(userId: string) {\n return this.f.get<ScoreSaberUser>(`/api/player/${userId}/full`)\n }\n\n async getScoreItemsById(userId: string, page: number, pageSize: number = 8) {\n return this.f.get<ScoreSaberUserResponse>(`/api/player/${userId}/scores`, {\n query: {\n sort: 'top',\n page: page,\n limit: pageSize,\n },\n })\n }\n async getScoreItemsByMapId(\n mapId: string,\n diff: string,\n mode: string,\n page: number,\n pageSize: number = 8\n ): Promise<ScoresaberLeaderboardResp> {\n const id = convertToLeaderboardId(mapId, diff, mode)\n return this.f.get(`/api/leaderboard/by-id/${id}/scores`, {\n query: {\n page: page,\n limit: pageSize,\n },\n })\n }\n}\n\nconst convertToLeaderboardId = (mapid: string, diff: string, mode: string) => {\n return mapid\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,mBAAmC;AAEnC,mBAA4B;AACrB,MAAM,iBAAiB;AAAA,EAE5B,YAAY,QAAgB;AAD5B;AAEE,SAAK,QAAI,0BAAY,MAAM,EAAE,OAAO;AAAA,MAClC,SAAS;AAAA,MACT,qBAAqB;AAAA,MACrB,iBAAiB,CAAC,YAAY;AAC5B,YACE,QAAQ,SAAS,WAAW,OAC5B,QAAQ,SAAS,WAAW,KAC5B;AACA,gBAAM,IAAI,2BAAc;AAAA,QAC1B;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACM,iBAAiB,QAAgB;AAAA;AACrC,aAAO,KAAK,EAAE,IAAoB,eAAe,MAAM,OAAO;AAAA,IAChE;AAAA;AAAA,EAEM,kBAAkB,QAAgB,MAAc,WAAmB,GAAG;AAAA;AAC1E,aAAO,KAAK,EAAE,IAA4B,eAAe,MAAM,WAAW;AAAA,QACxE,OAAO;AAAA,UACL,MAAM;AAAA,UACN;AAAA,UACA,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACH;AAAA;AAAA,EACM,qBACJ,OACA,MACA,MACA,MACA,WAAmB,GACiB;AAAA;AACpC,YAAM,KAAK,uBAAuB,OAAO,MAAM,IAAI;AACnD,aAAO,KAAK,EAAE,IAAI,0BAA0B,EAAE,WAAW;AAAA,QACvD,OAAO;AAAA,UACL;AAAA,UACA,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACH;AAAA;AACF;AAEA,MAAM,yBAAyB,CAAC,OAAe,MAAc,SAAiB;AAC5E,SAAO;AACT;","names":[]}
|
@@ -55,19 +55,27 @@ __export(api_exports, {
|
|
55
55
|
APIService: () => APIService
|
56
56
|
});
|
57
57
|
module.exports = __toCommonJS(api_exports);
|
58
|
-
var import_base = require("./base");
|
59
|
-
var import_errors = require("
|
60
|
-
var
|
61
|
-
var
|
62
|
-
var import_bsorDecoder = require("../../components/utils/bl/bsorDecoder");
|
58
|
+
var import_base = require("./base/index.js");
|
59
|
+
var import_errors = require("../errors/index.js");
|
60
|
+
var import_sortScore = require("./sortScore.js");
|
61
|
+
var import_utils = require("../../utils/index.js");
|
63
62
|
class APIService {
|
64
63
|
constructor(cfg, logger) {
|
65
64
|
__publicField(this, "BeatLeader");
|
66
65
|
__publicField(this, "ScoreSaber");
|
67
66
|
__publicField(this, "BeatSaver");
|
68
67
|
__publicField(this, "AIOSaber");
|
69
|
-
this.BeatSaver = new import_base.BeatSaverClient({
|
70
|
-
|
68
|
+
this.BeatSaver = new import_base.BeatSaverClient({
|
69
|
+
logger,
|
70
|
+
host: cfg.beatsaver.host,
|
71
|
+
client_id: cfg.beatsaver.oauthClientId,
|
72
|
+
client_secret: cfg.beatsaver.oauthClientSecret
|
73
|
+
});
|
74
|
+
this.BeatLeader = new import_base.BeatLeaderClient({
|
75
|
+
logger,
|
76
|
+
client_id: cfg.beatleader.oauthClientId,
|
77
|
+
client_secret: cfg.beatleader.oauthClientSecret
|
78
|
+
});
|
71
79
|
this.ScoreSaber = new import_base.ScoreSaberClient(logger);
|
72
80
|
this.AIOSaber = new import_base.AIOSaberClient(logger);
|
73
81
|
}
|
@@ -120,7 +128,7 @@ class APIService {
|
|
120
128
|
));
|
121
129
|
const scores = res.filter((item) => item.status === "fulfilled").map((it) => it.value);
|
122
130
|
if (scores.length < 1) {
|
123
|
-
|
131
|
+
return null;
|
124
132
|
}
|
125
133
|
scores.sort(import_sortScore.sortScore);
|
126
134
|
return scores[0];
|
@@ -164,7 +172,7 @@ class APIService {
|
|
164
172
|
const bsorLink = res.replay;
|
165
173
|
const bsorContent = yield fetch(bsorLink);
|
166
174
|
const bsor = yield new Promise((resolve, reject) => {
|
167
|
-
bsorContent.arrayBuffer().then((res2) => (0,
|
175
|
+
bsorContent.arrayBuffer().then((res2) => (0, import_utils.decode)(res2, resolve));
|
168
176
|
setTimeout(() => reject("timeout exceed"), 5e3);
|
169
177
|
});
|
170
178
|
const statistic = yield fetch(
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/services/api/index.ts"],"sourcesContent":["import {AIOSaberClient, BeatLeaderClient, BeatSaverClient, ScoreSaberClient} from \"./base\";\nimport {Config} from \"@/config\";\nimport { Logger } from \"@/core\";\nimport {BLIDNotFoundError, MapIdNotFoundError, SSIDNotFoundError} from \"../errors\";\nimport {BSMap, HashResponse} from \"./interfaces/beatsaver\";\nimport {ScoreSaberItem} from \"./interfaces/scoresaber\";\nimport {Leaderboard} from \"./interfaces/beatleader\";\nimport {sortScore} from \"./sortScore\";\nimport { decode } from \"@/utils\";\n\ntype MapDiffOption = {\n difficulty?: string\n mode?: string\n}\n\n\nexport class APIService {\n BeatLeader: BeatLeaderClient\n ScoreSaber: ScoreSaberClient\n BeatSaver: BeatSaverClient\n AIOSaber: AIOSaberClient\n constructor(cfg: Config, logger: Logger) {\n this.BeatSaver = new BeatSaverClient({\n logger,\n host: cfg.beatsaver.host,\n client_id: cfg.beatsaver.oauthClientId,\n client_secret: cfg.beatsaver.oauthClientSecret\n })\n this.BeatLeader = new BeatLeaderClient({\n logger,\n client_id: cfg.beatleader.oauthClientId,\n client_secret: cfg.beatleader.oauthClientSecret\n })\n this.ScoreSaber = new ScoreSaberClient(logger)\n this.AIOSaber = new AIOSaberClient(logger)\n }\n async getBLPlayerScoresWithUserInfo(accountId: string) {\n const [userInfo, playerScores, pinnedScores] = await Promise.all([\n this.BeatLeader.getPlayerInfo(accountId),\n this.BeatLeader.getPlayerScores(accountId),\n this.BeatLeader.getPlayerPinnedScores(accountId),\n ])\n if (!(userInfo && playerScores)) {\n throw new BLIDNotFoundError({ accountId })\n }\n const filteredScores = playerScores.data.filter(\n (item) => !pinnedScores.some((pinned) => pinned.id === item.id)\n )\n const scores = pinnedScores.concat(filteredScores).slice(0, 24)\n return {\n scores: scores,\n userInfo: userInfo,\n }\n }\n async getSSPlayerScoresWithUserInfo(accountId: string) {\n\n }\n async getScoreByPlayerIdAndMapId(\n playerId: string,\n mapId: string,\n option?: MapDiffOption\n ): Promise<Leaderboard | null> {\n const map = await this.BeatSaver.searchMapById(mapId)\n if (!map) {\n throw new MapIdNotFoundError()\n }\n const hash = map.versions[0].hash\n let reqs = map.versions[0].diffs.map((it) => ({\n diff: it.difficulty,\n mode: it.characteristic,\n hash: hash,\n playerID: playerId,\n leaderboardContext: 'general',\n }))\n if (option && option.difficulty) {\n reqs = reqs.filter((item) => item.diff == option.difficulty)\n }\n if (option && option.mode) {\n reqs = reqs.filter((item) => item.mode == option.mode)\n }\n const res = await Promise.allSettled(reqs.map(\n (it) => this.BeatLeader.getPlayerScore(it)))\n const scores = res\n .filter((item) => item.status === 'fulfilled')\n .map(<T>(it: PromiseFulfilledResult<T>) => it.value)\n if (scores.length < 1) {\n return null\n }\n scores.sort(sortScore)\n return scores[0]\n }\n\n async getAroundScoreAndRegionScoreByRankAndPage(\n leaderboardId: string,\n rank: number,\n regionCode: string\n ) {\n const page = Math.ceil(rank / 10)\n const rest = rank % 10\n let startIndex = 0\n if (rest > 7) {\n startIndex = 2\n }\n const [regionScore, aroundScore] = await Promise.all([\n this.BeatLeader.getLeaderboard(leaderboardId, {\n leaderboardContext: 'general',\n page: 1,\n sortBy: 'rank',\n order: 'desc',\n countries: regionCode,\n }),\n this.BeatLeader.getLeaderboard(leaderboardId, {\n leaderboardContext: 'general',\n page: page,\n sortBy: 'rank',\n order: 'desc',\n }),\n ])\n const difficulties = regionScore.song.difficulties\n return {\n difficulties: difficulties,\n aroundScores: aroundScore.scores.slice(startIndex, startIndex + 7),\n regionTopScores: regionScore.scores,\n }\n }\n async getScoreAndBSMapByScoreId(scoreId: string) {\n const res = await this.BeatLeader.getBeatScore(scoreId)\n const bsorLink = res.replay\n const bsorContent = await fetch(bsorLink)\n const bsor = await new Promise((resolve, reject) => {\n bsorContent.arrayBuffer().then((res) => decode(res, resolve))\n setTimeout(() => reject('timeout exceed'), 5000)\n })\n const statistic = await fetch(\n `https://cdn.scorestats.beatleader.xyz/${scoreId}.json`\n ).then((res) => res.json())\n const id = res.song.id.split('x')?.[0]\n const bsMap = await this.BeatSaver.searchMapById(id)\n return {\n score: res,\n bsMap: bsMap,\n statistic: statistic,\n bsor: bsor,\n }\n }\n async getSSPlayerRecentScoreWithUserInfo(uid: string) {\n const [userInfo, scores] = await Promise.all([\n this.ScoreSaber.getScoreUserById(uid),\n this.ScoreSaber.getScoreItemsById(uid, 1, 24)\n .then((res) => res?.playerScores),\n ])\n if (!scores || !userInfo) {\n throw new SSIDNotFoundError({ accountId: uid })\n }\n const hashes = scores.map((it) => it.leaderboard.songHash)\n\n let hashInfo = await this.BeatSaver.getMapsByHashes(hashes)\n if (hashInfo.id) {\n const map = hashInfo as BSMap\n hashInfo = {} as HashResponse\n hashInfo[map.versions[0].hash] = map\n }\n const res = scores.map(\n (it) =>\n ({\n mapId: (hashInfo as HashResponse)[\n it.leaderboard.songHash.toLowerCase()\n ]?.id,\n ...it,\n }) as ScoreSaberItem\n )\n return {\n scores: res,\n userInfo: userInfo,\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAkF;AAGlF,oBAAuE;AAIvE,uBAAwB;AACxB,mBAAuB;AAQhB,MAAM,WAAW;AAAA,EAKtB,YAAY,KAAa,QAAgB;AAJzC;AACA;AACA;AACA;AAEE,SAAK,YAAY,IAAI,4BAAgB;AAAA,MACnC;AAAA,MACA,MAAM,IAAI,UAAU;AAAA,MACpB,WAAW,IAAI,UAAU;AAAA,MACzB,eAAe,IAAI,UAAU;AAAA,IAC/B,CAAC;AACD,SAAK,aAAa,IAAI,6BAAiB;AAAA,MACrC;AAAA,MACA,WAAW,IAAI,WAAW;AAAA,MAC1B,eAAe,IAAI,WAAW;AAAA,IAChC,CAAC;AACD,SAAK,aAAa,IAAI,6BAAiB,MAAM;AAC7C,SAAK,WAAW,IAAI,2BAAe,MAAM;AAAA,EAC3C;AAAA,EACM,8BAA8B,WAAmB;AAAA;AACrD,YAAM,CAAC,UAAU,cAAc,YAAY,IAAI,MAAM,QAAQ,IAAI;AAAA,QAC/D,KAAK,WAAW,cAAc,SAAS;AAAA,QACvC,KAAK,WAAW,gBAAgB,SAAS;AAAA,QACzC,KAAK,WAAW,sBAAsB,SAAS;AAAA,MACjD,CAAC;AACD,UAAI,EAAE,YAAY,eAAe;AAC/B,cAAM,IAAI,gCAAkB,EAAE,UAAU,CAAC;AAAA,MAC3C;AACA,YAAM,iBAAiB,aAAa,KAAK;AAAA,QACvC,CAAC,SAAS,CAAC,aAAa,KAAK,CAAC,WAAW,OAAO,OAAO,KAAK,EAAE;AAAA,MAChE;AACA,YAAM,SAAS,aAAa,OAAO,cAAc,EAAE,MAAM,GAAG,EAAE;AAC9D,aAAO;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA;AAAA,EACM,8BAA8B,WAAmB;AAAA;AAAA,IAEvD;AAAA;AAAA,EACM,2BACJ,UACA,OACA,QAC6B;AAAA;AAC7B,YAAM,MAAM,MAAM,KAAK,UAAU,cAAc,KAAK;AACpD,UAAI,CAAC,KAAK;AACR,cAAM,IAAI,iCAAmB;AAAA,MAC/B;AACA,YAAM,OAAO,IAAI,SAAS,CAAC,EAAE;AAC7B,UAAI,OAAO,IAAI,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ;AAAA,QAC5C,MAAM,GAAG;AAAA,QACT,MAAM,GAAG;AAAA,QACT;AAAA,QACA,UAAU;AAAA,QACV,oBAAoB;AAAA,MACtB,EAAE;AACF,UAAI,UAAU,OAAO,YAAY;AAC/B,eAAO,KAAK,OAAO,CAAC,SAAS,KAAK,QAAQ,OAAO,UAAU;AAAA,MAC7D;AACA,UAAI,UAAU,OAAO,MAAM;AACzB,eAAO,KAAK,OAAO,CAAC,SAAS,KAAK,QAAQ,OAAO,IAAI;AAAA,MACvD;AACA,YAAM,MAAM,MAAM,QAAQ,WAAW,KAAK;AAAA,QACxC,CAAC,OAAO,KAAK,WAAW,eAAe,EAAE;AAAA,MAAC,CAAC;AAC7C,YAAM,SAAS,IACZ,OAAO,CAAC,SAAS,KAAK,WAAW,WAAW,EAC5C,IAAI,CAAI,OAAkC,GAAG,KAAK;AACrD,UAAI,OAAO,SAAS,GAAG;AACrB,eAAO;AAAA,MACT;AACA,aAAO,KAAK,0BAAS;AACrB,aAAO,OAAO,CAAC;AAAA,IACjB;AAAA;AAAA,EAEM,0CACJ,eACA,MACA,YACA;AAAA;AACA,YAAM,OAAO,KAAK,KAAK,OAAO,EAAE;AAChC,YAAM,OAAO,OAAO;AACpB,UAAI,aAAa;AACjB,UAAI,OAAO,GAAG;AACZ,qBAAa;AAAA,MACf;AACA,YAAM,CAAC,aAAa,WAAW,IAAI,MAAM,QAAQ,IAAI;AAAA,QACnD,KAAK,WAAW,eAAe,eAAe;AAAA,UAC5C,oBAAoB;AAAA,UACpB,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,OAAO;AAAA,UACP,WAAW;AAAA,QACb,CAAC;AAAA,QACD,KAAK,WAAW,eAAe,eAAe;AAAA,UAC5C,oBAAoB;AAAA,UACpB;AAAA,UACA,QAAQ;AAAA,UACR,OAAO;AAAA,QACT,CAAC;AAAA,MACH,CAAC;AACD,YAAM,eAAe,YAAY,KAAK;AACtC,aAAO;AAAA,QACL;AAAA,QACA,cAAc,YAAY,OAAO,MAAM,YAAY,aAAa,CAAC;AAAA,QACjE,iBAAiB,YAAY;AAAA,MAC/B;AAAA,IACF;AAAA;AAAA,EACM,0BAA0B,SAAiB;AAAA;AA7HnD;AA8HI,YAAM,MAAM,MAAM,KAAK,WAAW,aAAa,OAAO;AACtD,YAAM,WAAW,IAAI;AACrB,YAAM,cAAc,MAAM,MAAM,QAAQ;AACxC,YAAM,OAAO,MAAM,IAAI,QAAQ,CAAC,SAAS,WAAW;AAClD,oBAAY,YAAY,EAAE,KAAK,CAACA,aAAQ,qBAAOA,MAAK,OAAO,CAAC;AAC5D,mBAAW,MAAM,OAAO,gBAAgB,GAAG,GAAI;AAAA,MACjD,CAAC;AACD,YAAM,YAAY,MAAM;AAAA,QACtB,yCAAyC,OAAO;AAAA,MAClD,EAAE,KAAK,CAACA,SAAQA,KAAI,KAAK,CAAC;AAC1B,YAAM,MAAK,SAAI,KAAK,GAAG,MAAM,GAAG,MAArB,mBAAyB;AACpC,YAAM,QAAQ,MAAM,KAAK,UAAU,cAAc,EAAE;AACnD,aAAO;AAAA,QACL,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA;AAAA,EACM,mCAAmC,KAAa;AAAA;AACpD,YAAM,CAAC,UAAU,MAAM,IAAI,MAAM,QAAQ,IAAI;AAAA,QAC3C,KAAK,WAAW,iBAAiB,GAAG;AAAA,QACpC,KAAK,WAAW,kBAAkB,KAAK,GAAG,EAAE,EACzC,KAAK,CAACA,SAAQA,QAAA,gBAAAA,KAAK,YAAY;AAAA,MACpC,CAAC;AACD,UAAI,CAAC,UAAU,CAAC,UAAU;AACxB,cAAM,IAAI,gCAAkB,EAAE,WAAW,IAAI,CAAC;AAAA,MAChD;AACA,YAAM,SAAS,OAAO,IAAI,CAAC,OAAO,GAAG,YAAY,QAAQ;AAEzD,UAAI,WAAW,MAAM,KAAK,UAAU,gBAAgB,MAAM;AAC1D,UAAI,SAAS,IAAI;AACf,cAAM,MAAM;AACZ,mBAAW,CAAC;AACZ,iBAAS,IAAI,SAAS,CAAC,EAAE,IAAI,IAAI;AAAA,MACnC;AACA,YAAM,MAAM,OAAO;AAAA,QACjB,CAAC,OAAI;AAnKX;AAoKS;AAAA,YACC,QAAQ,cACN,GAAG,YAAY,SAAS,YAAY,CACpC,MAFM,mBAEH;AAAA,aACF;AAAA;AAAA,MAET;AACA,aAAO;AAAA,QACL,QAAQ;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA;AACF;","names":["res"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/services/api/interfaces/aiosaber/index.ts"],"sourcesContent":["export interface AioOauthTokenResponse {\n access_token: string\n token_type: string\n expires_in: number\n refresh_token: string\n scope?: string\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/services/api/interfaces/beatleader/bsor.ts"],"sourcesContent":["export interface BSOR {\n frames: BSORFrame[]\n heights: BSORHeight[]\n info: BSORInfo\n notes: BSORNote[]\n pauses: BSORPauses[]\n walls: BSORWall[]\n}\n\ninterface position {\n x: number\n y: number\n z: number\n}\ninterface rotation {\n w: number\n x: number\n y: number\n z: number\n}\n\ninterface Pos {\n position: position\n rotation: rotation\n}\n\ninterface BSORFrame {\n fps: number\n head: Pos\n left: Pos\n right: Pos\n time: number\n}\n\ntype BSORHeight = {\n [key: string]: any\n}\n\ninterface BSORInfo {\n controller: string\n difficulty: string\n environment: string\n failTime: number\n gameVersion: string\n hash: string\n height: number\n hmd: string\n jumpDistance: string\n leftHanded: boolean\n mapper: string\n mode: string\n modifiers: string\n platform: string\n playerID: string\n playerName: string\n score: number\n songName: string\n speed: number\n startTime: number\n timestamp: string\n trackingSysytem: string\n version: string\n [key: string]: any\n}\n\nexport interface BSORNote {\n eventTime: number\n eventType: number\n noteCutInfo: NoteCutInfo\n noteID: number\n spawnTime: number\n [key: string]: any\n}\n\ninterface BSORPauses {\n duration: any\n time: number\n [key: string]: any\n}\n\ninterface BSORWall {\n [key: string]: any\n}\n\nexport interface NoteCutInfo {\n afterCutRating: number\n beforeCutRating: number\n cutAngle: number\n cutDirDeviation: number\n cutDistanceToCenter: number\n cutNormal: CutNormal\n cutPoint: CutPoint\n directionOK: boolean\n saberDir: SaberDir\n saberSpeed: number\n saberType: number\n saberTypeOK: boolean\n speedOK: boolean\n timeDeviation: number\n wasCutTooSoon: boolean\n [property: string]: any\n}\n\nexport interface CutNormal {\n x: number\n y: number\n z: number\n [property: string]: any\n}\n\nexport interface CutPoint {\n x: number\n y: number\n z: number\n [property: string]: any\n}\n\nexport interface SaberDir {\n x: number\n y: number\n z: number\n [property: string]: any\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
@@ -14,17 +14,17 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
15
15
|
var beatleader_exports = {};
|
16
16
|
module.exports = __toCommonJS(beatleader_exports);
|
17
|
-
__reExport(beatleader_exports, require("./bsor"), module.exports);
|
18
|
-
__reExport(beatleader_exports, require("./req"), module.exports);
|
19
|
-
__reExport(beatleader_exports, require("./score"), module.exports);
|
20
|
-
__reExport(beatleader_exports, require("./user"), module.exports);
|
21
|
-
__reExport(beatleader_exports, require("./ws"), module.exports);
|
17
|
+
__reExport(beatleader_exports, require("./bsor.js"), module.exports);
|
18
|
+
__reExport(beatleader_exports, require("./req.js"), module.exports);
|
19
|
+
__reExport(beatleader_exports, require("./score.js"), module.exports);
|
20
|
+
__reExport(beatleader_exports, require("./user.js"), module.exports);
|
21
|
+
__reExport(beatleader_exports, require("./ws.js"), module.exports);
|
22
22
|
// Annotate the CommonJS export names for ESM import in node:
|
23
23
|
0 && (module.exports = {
|
24
|
-
...require("./bsor"),
|
25
|
-
...require("./req"),
|
26
|
-
...require("./score"),
|
27
|
-
...require("./user"),
|
28
|
-
...require("./ws")
|
24
|
+
...require("./bsor.js"),
|
25
|
+
...require("./req.js"),
|
26
|
+
...require("./score.js"),
|
27
|
+
...require("./user.js"),
|
28
|
+
...require("./ws.js")
|
29
29
|
});
|
30
30
|
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/services/api/interfaces/beatleader/index.ts"],"sourcesContent":["export * from './bsor'\nexport * from './req'\nexport * from './score'\nexport * from './user'\nexport * from './ws'\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;AAAA,+BAAc,mBAAd;AACA,+BAAc,kBADd;AAEA,+BAAc,oBAFd;AAGA,+BAAc,mBAHd;AAIA,+BAAc,iBAJd;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/services/api/interfaces/beatleader/req.ts"],"sourcesContent":["import { Score } from './score'\n\nexport interface BeatLeaderPlayerScoreRequest {\n diff: string\n mode: string\n hash: string\n playerID: string\n leaderboardContext: string\n}\n\nexport interface Metadata {\n itemsPerPage: number\n page: number\n total: number\n [property: string]: any\n}\n\nexport interface BeadLeaderScoresResponse {\n data: Score[]\n metadata: Metadata\n [property: string]: any\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/services/api/interfaces/beatleader/score.ts"],"sourcesContent":["export interface Score {\n accLeft: number\n accPP: number\n accRight: number\n accuracy: number\n badCuts: number\n baseScore: number\n bombCuts: number\n bonusPp: number\n contextExtensions: null\n controller: number\n country: null | string\n fcAccuracy: number\n fcPp: number\n fullCombo: boolean\n hmd: number\n id: number\n leaderboard: Leaderboard\n leaderboardId: string\n maxCombo: number\n maxStreak: number | null\n metadata: null\n missedNotes: number\n modifiedScore: number\n modifiers: string\n myScore: null\n offsets: Offsets\n passPP: number\n pauses: number\n platform: string\n playCount: number\n player: any\n playerId: string\n pp: number\n priority: number\n rank: number\n rankVoting: null\n replay: string\n replaysWatched: number\n scoreImprovement: ScoreImprovement\n techPP: number\n timepost: number\n timeset: string\n validContexts: number\n wallsHit: number\n weight: number\n [property: string]: any\n}\n\nexport interface Leaderboard {\n difficulty: Difficulty\n id: string\n song: Song\n [property: string]: any\n}\n\nexport interface Difficulty {\n accRating: number | null\n bombs: number\n difficultyName: string\n duration: number\n id: number\n maxScore: number\n mode: number\n modeName: string\n modifiersRating: null | ModifiersRating\n modifierValues: ModifierValues\n njs: number\n nominatedTime: number\n notes: number\n nps: number\n passRating: number | null\n predictedAcc: number\n qualifiedTime: number\n rankedTime: number\n requirements: number\n stars: number | null\n status: number\n techRating: number | null\n type: number\n value: number\n walls: number\n [property: string]: any\n}\n\nexport interface ModifierValues {\n da: number\n fs: number\n gn: number\n modifierId: number\n na: number\n nb: number\n nf: number\n no: number\n op: number\n pm: number\n sa: number\n sc: number\n sf: number\n ss: number\n [property: string]: any\n}\n\nexport interface ModifiersRating {\n fsAccRating: number\n fsPassRating: number\n fsPredictedAcc: number\n fsStars: number\n fsTechRating: number\n id: number\n sfAccRating: number\n sfPassRating: number\n sfPredictedAcc: number\n sfStars: number\n sfTechRating: number\n ssAccRating: number\n ssPassRating: number\n ssPredictedAcc: number\n ssStars: number\n ssTechRating: number\n [property: string]: any\n}\n\nexport interface Song {\n author: string\n bpm: number\n collaboratorIds: null\n coverImage: string\n duration: number\n fullCoverImage: string\n hash: string\n id: string\n mapper: string\n mapperId: number\n name: string\n subName: string\n [property: string]: any\n}\n\nexport interface Offsets {\n frames: number\n heights: number\n id: number\n notes: number\n pauses: number\n walls: number\n [property: string]: any\n}\n\nexport interface ScoreImprovement {\n accLeft: number\n accRight: number\n accuracy: number\n averageRankedAccuracy: number\n badCuts: number\n bombCuts: number\n bonusPp: number\n id: number\n missedNotes: number\n pauses: number\n pp: number\n rank: number\n score: number\n timeset: string\n totalPp: number\n totalRank: number\n wallsHit: number\n [property: string]: any\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|