beatsaber-bot-core 0.2.0-dev.12 → 0.2.0-dev.14

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.
Files changed (44) hide show
  1. package/lib/api/composed/beatleader.js.map +1 -1
  2. package/lib/cmd/bsmap/id-search.js +1 -1
  3. package/lib/cmd/bsmap/id-search.js.map +1 -1
  4. package/lib/cmd/bsmap/key-search.js +5 -5
  5. package/lib/cmd/bsmap/key-search.js.map +1 -1
  6. package/lib/cmd/bsmap/latest.js +1 -1
  7. package/lib/cmd/bsmap/latest.js.map +1 -1
  8. package/lib/cmd/deprecated/me.d.ts +1 -1
  9. package/lib/cmd/deprecated/me.js +2 -2
  10. package/lib/cmd/deprecated/me.js.map +1 -1
  11. package/lib/cmd/deprecated/whois.js +1 -1
  12. package/lib/cmd/deprecated/whois.js.map +1 -1
  13. package/lib/cmd/rank.js +3 -3
  14. package/lib/cmd/rank.js.map +1 -1
  15. package/lib/cmd/score.d.ts +1 -1
  16. package/lib/cmd/score.js +7 -2
  17. package/lib/cmd/score.js.map +1 -1
  18. package/lib/config.d.ts +13 -1
  19. package/lib/i18n/index.js +2 -35
  20. package/lib/i18n/index.js.map +1 -1
  21. package/lib/i18n/parser.d.ts +14 -0
  22. package/lib/i18n/parser.js +163 -0
  23. package/lib/i18n/parser.js.map +1 -0
  24. package/lib/i18n/zh-cn.json +1 -1
  25. package/lib/img-render/components/rankScoreItem.d.ts +3 -0
  26. package/lib/img-render/components/rankScoreItem.js +6 -2
  27. package/lib/img-render/components/rankScoreItem.js.map +1 -1
  28. package/lib/img-render/index.d.ts +12 -10
  29. package/lib/img-render/index.js.map +1 -1
  30. package/lib/img-render/result/bs-score-with-rank.js +13 -1
  31. package/lib/img-render/result/bs-score-with-rank.js.map +1 -1
  32. package/lib/interface/render.d.ts +6 -5
  33. package/lib/utils/index.d.ts +2 -0
  34. package/lib/utils/index.js +3 -1
  35. package/lib/utils/index.js.map +1 -1
  36. package/lib/utils/puppeteer.d.ts +20 -0
  37. package/lib/utils/puppeteer.js +87 -0
  38. package/lib/utils/puppeteer.js.map +1 -0
  39. package/lib/utils/s3.d.ts +10 -0
  40. package/lib/utils/s3.js +45 -0
  41. package/lib/utils/s3.js.map +1 -0
  42. package/lib/ws/beatsaver.js +1 -1
  43. package/lib/ws/beatsaver.js.map +1 -1
  44. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"beatleader.js","sourceRoot":"","sources":["../../../src/api/composed/beatleader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beatleader.js","sourceRoot":"","sources":["../../../src/api/composed/beatleader.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ exports.default = () => new builder_1.CommandBuilder()
29
29
  };
30
30
  const image = await c.render.renderMap(res.data, onStartRender);
31
31
  // upload to s3?
32
- await c.session.send(image);
32
+ await c.session.sendImgBuffer(image);
33
33
  await c.session.sendAudioByUrl(res.data.versions[0].previewURL);
34
34
  });
35
35
  //# sourceMappingURL=id-search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id-search.js","sourceRoot":"","sources":["../../../src/cmd/bsmap/id-search.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAC9C,qCAAgE;AAEhE,MAAM,QAAQ,GAAG,oBAAoB,CAAA;AACrC,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB;KAC/B,QAAQ,CAAC,KAAK,CAAC;KACf,QAAQ,CAAC,MAAM,CAAC;KAChB,QAAQ,CAAC,OAAO,CAAC;KACjB,QAAQ,CAAC,MAAM,CAAC;IACjB,sDAAsD;KACrD,cAAc,CAAC,mCAAmC,CAAC;KACnD,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAChD,OAAM;IACR,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,0BAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAExE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACnD,MAAM,IAAI,2BAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,CAAC,CAAC,OAAO,CAAC,IAAI,CACZ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACnC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI;SACrC,CAAC,CACH,CAAA;IACH,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IAC/D,gBAAgB;IAChB,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3B,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;AACjE,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"id-search.js","sourceRoot":"","sources":["../../../src/cmd/bsmap/id-search.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAC9C,qCAAgE;AAEhE,MAAM,QAAQ,GAAG,oBAAoB,CAAA;AACrC,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB;KAC/B,QAAQ,CAAC,KAAK,CAAC;KACf,QAAQ,CAAC,MAAM,CAAC;KAChB,QAAQ,CAAC,OAAO,CAAC;KACjB,QAAQ,CAAC,MAAM,CAAC;IACjB,sDAAsD;KACrD,cAAc,CAAC,mCAAmC,CAAC;KACnD,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAChD,OAAM;IACR,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,0BAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAExE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACnD,MAAM,IAAI,2BAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,CAAC,CAAC,OAAO,CAAC,IAAI,CACZ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACnC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI;SACrC,CAAC,CACH,CAAA;IACH,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IAC/D,gBAAgB;IAChB,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;AACjE,CAAC,CAAC,CAAA"}
@@ -31,11 +31,11 @@ exports.default = () => new builder_1.CommandBuilder()
31
31
  key: key,
32
32
  length: toBeSend.length,
33
33
  });
34
- c.session.sendQuote(text);
34
+ await c.session.sendQuote(text);
35
35
  // consider merge maps image
36
- // for (const item of toBeSend) {
37
- // session.sendQueued(await item.img)
38
- // session.sendQueued(h.audio(item.bsmap.versions[0].previewURL))
39
- // }
36
+ for (const item of toBeSend) {
37
+ await c.session.sendImgBuffer(await item.img);
38
+ await c.session.sendAudioByUrl(item.bsmap.versions[0].previewURL);
39
+ }
40
40
  });
41
41
  //# sourceMappingURL=key-search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"key-search.js","sourceRoot":"","sources":["../../../src/cmd/bsmap/key-search.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAgB9C,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa;KAC/B,QAAQ,CAAC,OAAO,CAAC;KACjB,QAAQ,CAAC,UAAU,CAAC;KACpB,QAAQ,CAAC,OAAO,CAAC;KACjB,cAAc,CAAC,mCAAmC,CAAC;KACnD,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAA;IACjB,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACpB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACtB,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,CAAC,CAC9D,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACzE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;QACrB,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,CAAC,CAC3D,CAAA;QACD,OAAM;IACR,CAAC;IACD,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,CAAC,CAAC,OAAO,CAAC,IAAI,CACZ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACnC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI;SACrC,CAAC,CACH,CAAA;IACH,CAAC,CAAA;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACjD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,aAAa,CAAC;QAC1C,KAAK,EAAE,EAAE;KACV,CAAC,CAAC,CAAA;IACH,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE;QAC3D,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAA;IACF,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAEzB,4BAA4B;IAC5B,iCAAiC;IACjC,uCAAuC;IACvC,mEAAmE;IACnE,IAAI;AACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"key-search.js","sourceRoot":"","sources":["../../../src/cmd/bsmap/key-search.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAgB9C,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa;KAC/B,QAAQ,CAAC,OAAO,CAAC;KACjB,QAAQ,CAAC,UAAU,CAAC;KACpB,QAAQ,CAAC,OAAO,CAAC;KACjB,cAAc,CAAC,mCAAmC,CAAC;KACnD,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAA;IACjB,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACpB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACtB,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,CAAC,CAC9D,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACzE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;QACrB,CAAC,CAAC,OAAO,CAAC,SAAS,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,CAAC,CAC3D,CAAA;QACD,OAAM;IACR,CAAC;IACD,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,CAAC,CAAC,OAAO,CAAC,IAAI,CACZ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACnC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI;SACrC,CAAC,CACH,CAAA;IACH,CAAC,CAAA;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACjD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,aAAa,CAAC;QAC1C,KAAK,EAAE,EAAE;KACV,CAAC,CAAC,CAAA;IACH,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE;QAC3D,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAA;IACF,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAE/B,4BAA4B;IAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7C,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IACnE,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -29,7 +29,7 @@ exports.default = () => new builder_1.CommandBuilder()
29
29
  image: c.render.renderMap(item),
30
30
  }));
31
31
  for (const msg of msgs) {
32
- await c.session.sendQueued(await msg.image);
32
+ await c.session.sendImgBuffer(await msg.image);
33
33
  await c.session.sendAudioByUrl(msg.audio);
34
34
  }
35
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"latest.js","sourceRoot":"","sources":["../../../src/cmd/bsmap/latest.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAE9C,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,QAAQ,CAAC;KACjB,QAAQ,CAAC,OAAO,CAAC;KACjB,QAAQ,CAAC,UAAU,CAAC;KACpB,cAAc,CAAC,mCAAmC,CAAC;KACnD,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE;SAC9C,SAAS,CAAC,CAAC,CAAC;SACZ,aAAa,CAAC,CAAC,CAAC,CAAA;IAEnB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;QACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;QAClD,CAAC,CAAC,OAAO,CAAC,UAAU,CAClB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CACtD,CAAA;QACD,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IACzD,gCAAgC;IAChC,oBAAoB;IACpB,6CAA6C;IAC7C,8CAA8C;IAC9C,SAAS;IACT,MAAM;IACN,IAAI;IACJ,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU;QAClC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;KAChC,CAAC,CAAC,CAAA;IACH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAA;QAC3C,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"latest.js","sourceRoot":"","sources":["../../../src/cmd/bsmap/latest.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAE9C,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,QAAQ,CAAC;KACjB,QAAQ,CAAC,OAAO,CAAC;KACjB,QAAQ,CAAC,UAAU,CAAC;KACpB,cAAc,CAAC,mCAAmC,CAAC;KACnD,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE;SAC9C,SAAS,CAAC,CAAC,CAAC;SACZ,aAAa,CAAC,CAAC,CAAC,CAAA;IAEnB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;QACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;QAClD,CAAC,CAAC,OAAO,CAAC,UAAU,CAClB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CACtD,CAAA;QACD,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IACzD,gCAAgC;IAChC,oBAAoB;IACpB,6CAA6C;IAC7C,8CAA8C;IAC9C,SAAS;IACT,MAAM;IACN,IAAI;IACJ,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU;QAClC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;KAChC,CAAC,CAAC,CAAA;IACH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAA;QAC9C,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -5,8 +5,8 @@ declare const _default: () => {
5
5
  options: import("../../interface").CmdOption[];
6
6
  callback: (c: import("../../interface").CmdContext<unknown, {
7
7
  d?: string;
8
- m?: string;
9
8
  p?: string;
9
+ m?: string;
10
10
  }>) => Promise<void>;
11
11
  children: any[];
12
12
  };
@@ -57,10 +57,10 @@ exports.default = () => new builder_1.CommandBuilder()
57
57
  return;
58
58
  }
59
59
  const img = await c.render.renderScore(scoreReq.data.id.toString(), rankPlatform);
60
- c.session.sendQueued(img);
60
+ await c.session.sendImgBuffer(img);
61
61
  return;
62
62
  }
63
63
  const img = await c.render.renderRank(accountId, rankPlatform);
64
- c.session.sendQueued(img);
64
+ await c.session.sendImgBuffer(img);
65
65
  });
66
66
  //# sourceMappingURL=me.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"me.js","sourceRoot":"","sources":["../../../src/cmd/deprecated/me.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"me.js","sourceRoot":"","sources":["../../../src/cmd/deprecated/me.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,6 @@ exports.default = () => new builder_1.CommandBuilder()
35
35
  }));
36
36
  };
37
37
  const img = await c.render.renderRank(accountId, rankPlatform);
38
- c.session.sendQueued(img);
38
+ c.session.sendImgBuffer(img);
39
39
  });
40
40
  //# sourceMappingURL=whois.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whois.js","sourceRoot":"","sources":["../../../src/cmd/deprecated/whois.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAC9C,2CAAsC;AAEtC,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,KAAK,CAAC;KACd,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC;KACjC,cAAc,CAAC,mCAAmC,CAAC;KACnD,QAAQ,CAAC,OAAO,CAAC;KACjB,QAAQ,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC7C,QAAQ,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC7C,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3C,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3C,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3C,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3C,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3C,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3C,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAQ,CAAC,EAAE,CAAA;IACpE,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAA;QACjE,OAAM;IACR,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;IACrE,IAAI,SAAS,GAAG,oBAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAA;IACpD,SAAS,KAAK,oBAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAA;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAA;QACnE,OAAM;IACR,CAAC;IACD,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,CAAC,CAAC,OAAO,CAAC,IAAI,CACZ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACnC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI;SACrC,CAAC,CACH,CAAA;IACH,CAAC,CAAA;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9D,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"whois.js","sourceRoot":"","sources":["../../../src/cmd/deprecated/whois.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAC9C,2CAAsC;AAEtC,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,KAAK,CAAC;KACd,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC;KACjC,cAAc,CAAC,mCAAmC,CAAC;KACnD,QAAQ,CAAC,OAAO,CAAC;KACjB,QAAQ,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC7C,QAAQ,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC7C,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3C,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3C,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3C,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3C,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3C,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3C,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAQ,CAAC,EAAE,CAAA;IACpE,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAA;QACjE,OAAM;IACR,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;IACrE,IAAI,SAAS,GAAG,oBAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAA;IACpD,SAAS,KAAK,oBAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAA;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAA;QACnE,OAAM;IACR,CAAC;IACD,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,CAAC,CAAC,OAAO,CAAC,IAAI,CACZ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACnC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI;SACrC,CAAC,CACH,CAAA;IACH,CAAC,CAAA;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9D,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC,CAAC,CAAA"}
package/lib/cmd/rank.js CHANGED
@@ -30,12 +30,12 @@ exports.default = () => new builder_1.CommandBuilder()
30
30
  uid = c.session.mentions[0].id;
31
31
  }
32
32
  const { blAccount, ssAccount } = await c.db.getUserAccountsByUid(uid);
33
- let accountId = interface_1.Platform.BL && blAccount.platformUid;
33
+ let accountId = interface_1.Platform.BL && blAccount?.platformUid;
34
34
  if (c.input) {
35
35
  accountId = c.input;
36
36
  }
37
37
  else if (!accountId) {
38
- accountId = interface_1.Platform.SS && ssAccount.platformUid;
38
+ accountId = interface_1.Platform.SS && ssAccount?.platformUid;
39
39
  }
40
40
  if (!accountId && !c.input) {
41
41
  // c.session.sendQuote(c.session.text('commands.bsbot.me.not-found'))
@@ -50,6 +50,6 @@ exports.default = () => new builder_1.CommandBuilder()
50
50
  // }
51
51
  const rankPlatform = c.options.p == 'ss' ? interface_1.Platform.SS : interface_1.Platform.BL;
52
52
  const img = await c.render.renderRank(accountId, rankPlatform);
53
- await c.session.sendQueued(img);
53
+ await c.session.sendImgBuffer(img);
54
54
  });
55
55
  //# sourceMappingURL=rank.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rank.js","sourceRoot":"","sources":["../../src/cmd/rank.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rank.js","sourceRoot":"","sources":["../../src/cmd/rank.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ declare const _default: () => {
5
5
  options: import("../interface").CmdOption[];
6
6
  callback: (c: import("../interface").CmdContext<unknown, {
7
7
  d?: string;
8
- m?: string;
9
8
  p?: string;
9
+ m?: string;
10
10
  }>) => Promise<void>;
11
11
  children: any[];
12
12
  };
package/lib/cmd/score.js CHANGED
@@ -34,10 +34,15 @@ exports.default = () => new builder_1.CommandBuilder()
34
34
  const mapId = c.input;
35
35
  const score = await c.api.BeatLeader.wrapperResult().getScoreByPlayerIdAndMapId(accountId, mapId, diffOption);
36
36
  if (!score.isSuccess()) {
37
- throw new errors_1.ScoreNotFoundError({ user: accountId, id: mapId });
37
+ throw new errors_1.ScoreNotFoundError({
38
+ user: accountId,
39
+ id: mapId,
40
+ diff: diffOption.difficulty,
41
+ mode: c.options.m,
42
+ });
38
43
  }
39
44
  const platform = c.options.p == 'ss' ? interface_1.Platform.SS : interface_1.Platform.BL;
40
45
  const img = await c.render.renderScore(score.data.id.toString(), platform);
41
- await c.session.sendQueued(img);
46
+ await c.session.sendImgBuffer(img);
42
47
  });
43
48
  //# sourceMappingURL=score.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/cmd/score.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAC9C,2CAAsC;AACtC,mCAAqC;AACrC,qCAA0E;AAC1E,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa;KAC9B,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC;KACjC,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC;KAClC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC;KAC7B,QAAQ,CAAC,SAAS,CAAC;KACnB,QAAQ,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,kCAAkC;IAClC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;IACrE,IAAI,SAAS,GAAG,oBAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAA;IACpD,SAAS,KAAK,oBAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAA;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,oCAA2B,EAAE,CAAA;IACzC,CAAC;IAED,IAAI,UAAU,CAAA;IACd,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC/B,UAAU,GAAG;YACX,UAAU,EAAE,IAAA,mBAAW,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;SAClB,CAAA;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;IAErB,MAAM,KAAK,GACT,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,0BAA0B,CAC/D,SAAS,EACT,KAAK,EACL,UAAU,CACX,CAAA;IACH,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,2BAAkB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAQ,CAAC,EAAE,CAAA;IAChE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC1E,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/cmd/score.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAC9C,2CAAsC;AACtC,mCAAqC;AACrC,qCAA0E;AAC1E,kBAAe,GAAG,EAAE,CAClB,IAAI,wBAAc,EAAE;KACjB,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa;KAC9B,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC;KACjC,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC;KAClC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC;KAC7B,QAAQ,CAAC,SAAS,CAAC;KACnB,QAAQ,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACvB,kCAAkC;IAClC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;IACrE,IAAI,SAAS,GAAG,oBAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAA;IACpD,SAAS,KAAK,oBAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAA;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,oCAA2B,EAAE,CAAA;IACzC,CAAC;IAED,IAAI,UAAU,CAAA;IACd,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC/B,UAAU,GAAG;YACX,UAAU,EAAE,IAAA,mBAAW,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;SAClB,CAAA;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;IAErB,MAAM,KAAK,GACT,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,0BAA0B,CAC/D,SAAS,EACT,KAAK,EACL,UAAU,CACX,CAAA;IACH,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,2BAAkB,CAAC;YAC3B,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,UAAU,CAAC,UAAU;YAC3B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAQ,CAAC,EAAE,CAAA;IAChE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC1E,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;AACpC,CAAC,CAAC,CAAA"}
package/lib/config.d.ts CHANGED
@@ -5,13 +5,25 @@ export interface BSAbility {
5
5
  };
6
6
  }
7
7
  export interface Config {
8
+ preferPuppeteerMode: 'local-plugin' | 'remote';
9
+ broswerlessWSEndpoint: string;
10
+ uploadImageToS3: {
11
+ enable: boolean;
12
+ s3AccessKey: string;
13
+ s3SecretKey: string;
14
+ endpoint: string;
15
+ region: string | undefined;
16
+ bucketName: string;
17
+ keyPrefix: string;
18
+ baseURL: string;
19
+ };
20
+ renderMode: 'local' | 'remote';
8
21
  beatSaverHost: string;
9
22
  beatSaverWSURL: string;
10
23
  remoteRenderURL: string;
11
24
  minRawMatchMapIdLength: number;
12
25
  defaultWaitTimeout: number;
13
26
  rankWaitTimeout: number;
14
- renderMode: 'local' | 'remote';
15
27
  bsOauthClientId: string;
16
28
  bsOauthClientSecret: string;
17
29
  blOauthClientId: string;
package/lib/i18n/index.js CHANGED
@@ -24,6 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.tran = exports.loadI18nConfig = void 0;
27
+ const parser_1 = require("../i18n/parser");
27
28
  const i18nObj = {};
28
29
  init().then((_) => console.log('i18n loaded'));
29
30
  async function init() {
@@ -58,16 +59,6 @@ function loadI18nConfig(lang, obj) {
58
59
  console.log(`overwrite i18n ${lang} `);
59
60
  }
60
61
  exports.loadI18nConfig = loadI18nConfig;
61
- function safeEval(expr, context) {
62
- try {
63
- const fn = new Function(...Object.keys(context), `return ${expr}`);
64
- return fn(...Object.values(context));
65
- }
66
- catch (e) {
67
- console.error(expr, context, e);
68
- return expr;
69
- }
70
- }
71
62
  function tran(path, params = {}, lang = 'zh-cn') {
72
63
  const keys = path.split('.');
73
64
  let result = i18nObj[lang];
@@ -80,33 +71,9 @@ function tran(path, params = {}, lang = 'zh-cn') {
80
71
  }
81
72
  }
82
73
  if (typeof result === 'string') {
83
- return interpolateString(result, params);
74
+ return (0, parser_1.interpolate)(result, params);
84
75
  }
85
76
  return null;
86
77
  }
87
78
  exports.tran = tran;
88
- function interpolateString(str, context) {
89
- // 正则表达式匹配三元表达式
90
- const regex = /\{\{(.*?)\?\s*'(.*?)'\s*:\s*'(.*?)'\s*\}\}/;
91
- let match;
92
- // 递归解析
93
- while ((match = regex.exec(str)) !== null) {
94
- const [fullMatch, condition, trueValue, falseValue] = match;
95
- // 递归解析 trueValue 和 falseValue 以处理嵌套情况
96
- const resolvedTrueValue = interpolateString(trueValue, context);
97
- const resolvedFalseValue = interpolateString(falseValue, context);
98
- // 计算条件表达式
99
- let result = safeEval(condition, context);
100
- if (typeof result === 'string') {
101
- result = false;
102
- }
103
- const replacement = result ? resolvedTrueValue : resolvedFalseValue;
104
- // 替换匹配到的三元表达式
105
- str = str.replace(fullMatch, replacement);
106
- }
107
- // 替换变量插值
108
- const variableRegex = /\{\{(.*?)\}\}/g;
109
- str = str.replace(variableRegex, (match, expr) => safeEval(expr, context));
110
- return str;
111
- }
112
79
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA2C;AAE3C,MAAM,OAAO,GAAG,EAAE,CAAA;AAElB,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;AAE9C,KAAK,UAAU,IAAI;IACjB,mBAAmB;IACnB,MAAM,EAAE,GAAG,wDAAa,cAAc,GAAC,CAAA;IACvC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;AACvB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAI;IACpB,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACjE,CAAC;AAED,SAAS,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO;IAC/B,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,MAAM,CAAA;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;IAC9B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBACtD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAA;AAClC,CAAC;AAED,SAAgB,cAAc,CAAC,IAAY,EAAE,GAAQ;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAA;AACxC,CAAC;AAJD,wCAIC;AAED,SAAgB,IAAI,CAAC,IAAY,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,GAAG,OAAO;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAA,oBAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAjBD,oBAiBC"}
@@ -0,0 +1,14 @@
1
+ export declare class Parser {
2
+ private template;
3
+ private data;
4
+ private tokens;
5
+ private current;
6
+ constructor(template: string, data: any);
7
+ private tokenize;
8
+ private match;
9
+ private consume;
10
+ private parseExpression;
11
+ private parseInterpolation;
12
+ parse(): string;
13
+ }
14
+ export declare function interpolate(template: string, data: any): string;
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.interpolate = exports.Parser = void 0;
4
+ var TokenType;
5
+ (function (TokenType) {
6
+ TokenType[TokenType["TEXT"] = 0] = "TEXT";
7
+ TokenType[TokenType["OPEN_BRACE"] = 1] = "OPEN_BRACE";
8
+ TokenType[TokenType["CLOSE_BRACE"] = 2] = "CLOSE_BRACE";
9
+ TokenType[TokenType["IDENTIFIER"] = 3] = "IDENTIFIER";
10
+ TokenType[TokenType["QUESTION"] = 4] = "QUESTION";
11
+ TokenType[TokenType["COLON"] = 5] = "COLON";
12
+ TokenType[TokenType["STRING"] = 6] = "STRING";
13
+ })(TokenType || (TokenType = {}));
14
+ // 插值解析Parser {{}},暂时没转义支持
15
+ // "😯,没有找到用户「{{user}}」的谱面「{{id}} ({{mode ? '{{mode}}' : '' }} {{diff ? '-{{diff}}' : '' }})」的打分数据"
16
+ class Parser {
17
+ template;
18
+ data;
19
+ tokens = [];
20
+ current = 0;
21
+ constructor(template, data) {
22
+ this.template = template;
23
+ this.data = data;
24
+ this.tokenize();
25
+ }
26
+ tokenize() {
27
+ let current = 0;
28
+ while (current < this.template.length) {
29
+ let char = this.template[current];
30
+ if (char === '\\' && current + 1 < this.template.length) {
31
+ // 处理转义字符
32
+ const nextChar = this.template[current + 1];
33
+ if (nextChar === '{' ||
34
+ nextChar === '}' ||
35
+ nextChar === '?' ||
36
+ nextChar === ':' ||
37
+ nextChar === "'" ||
38
+ nextChar === '\\') {
39
+ this.tokens.push({ type: TokenType.TEXT, value: nextChar });
40
+ current += 2;
41
+ continue;
42
+ }
43
+ }
44
+ if (char === '{' && this.template[current + 1] === '{') {
45
+ this.tokens.push({ type: TokenType.OPEN_BRACE, value: '{{' });
46
+ current += 2;
47
+ continue;
48
+ }
49
+ if (char === '}' && this.template[current + 1] === '}') {
50
+ this.tokens.push({ type: TokenType.CLOSE_BRACE, value: '}}' });
51
+ current += 2;
52
+ continue;
53
+ }
54
+ if (char === '?') {
55
+ this.tokens.push({ type: TokenType.QUESTION, value: '?' });
56
+ current++;
57
+ continue;
58
+ }
59
+ if (char === ':') {
60
+ this.tokens.push({ type: TokenType.COLON, value: ':' });
61
+ current++;
62
+ continue;
63
+ }
64
+ if (char === "'") {
65
+ let value = '';
66
+ char = this.template[++current];
67
+ while (char !== "'" && current < this.template.length) {
68
+ if (char === '\\' && current + 1 < this.template.length) {
69
+ char = this.template[++current];
70
+ }
71
+ value += char;
72
+ char = this.template[++current];
73
+ }
74
+ if (char === "'")
75
+ current++;
76
+ this.tokens.push({ type: TokenType.STRING, value });
77
+ continue;
78
+ }
79
+ if (/[a-zA-Z0-9_]/.test(char)) {
80
+ let value = '';
81
+ while (/[a-zA-Z0-9_]/.test(char)) {
82
+ value += char;
83
+ char = this.template[++current];
84
+ }
85
+ this.tokens.push({ type: TokenType.IDENTIFIER, value });
86
+ continue;
87
+ }
88
+ if (/\s/.test(char)) {
89
+ current++;
90
+ continue;
91
+ }
92
+ let value = '';
93
+ while (current < this.template.length &&
94
+ char !== '{' &&
95
+ char !== '}' &&
96
+ char !== '?' &&
97
+ char !== ':' &&
98
+ char !== "'" &&
99
+ !/[a-zA-Z0-9_]/.test(char)) {
100
+ if (char === '\\' && current + 1 < this.template.length) {
101
+ value += this.template[++current];
102
+ }
103
+ else {
104
+ value += char;
105
+ }
106
+ char = this.template[++current];
107
+ }
108
+ if (value) {
109
+ this.tokens.push({ type: TokenType.TEXT, value });
110
+ }
111
+ }
112
+ }
113
+ match(...types) {
114
+ if (this.current >= this.tokens.length)
115
+ return false;
116
+ return types.includes(this.tokens[this.current].type);
117
+ }
118
+ consume(type) {
119
+ if (this.match(type)) {
120
+ return this.tokens[this.current++];
121
+ }
122
+ throw new Error(`Expected token type ${type}, but got ${this.tokens[this.current].type}`);
123
+ }
124
+ parseExpression() {
125
+ if (this.match(TokenType.OPEN_BRACE)) {
126
+ this.consume(TokenType.OPEN_BRACE);
127
+ const result = this.parseInterpolation();
128
+ this.consume(TokenType.CLOSE_BRACE);
129
+ return result;
130
+ }
131
+ if (this.match(TokenType.STRING)) {
132
+ const tmp = this.consume(TokenType.STRING).value;
133
+ return interpolate(tmp, this.data);
134
+ }
135
+ return this.consume(TokenType.TEXT).value;
136
+ }
137
+ parseInterpolation() {
138
+ const identifier = this.consume(TokenType.IDENTIFIER).value;
139
+ if (this.match(TokenType.QUESTION)) {
140
+ this.consume(TokenType.QUESTION);
141
+ const truePart = this.parseExpression();
142
+ this.consume(TokenType.COLON);
143
+ const falsePart = this.parseExpression();
144
+ return this.data[identifier] ? truePart : falsePart;
145
+ }
146
+ return this.data[identifier]?.toString() || '';
147
+ }
148
+ parse() {
149
+ console.log(this.current, this.tokens);
150
+ let result = '';
151
+ while (this.current < this.tokens.length) {
152
+ result += this.parseExpression();
153
+ }
154
+ return result;
155
+ }
156
+ }
157
+ exports.Parser = Parser;
158
+ function interpolate(template, data) {
159
+ const parser = new Parser(template, data);
160
+ return parser.parse();
161
+ }
162
+ exports.interpolate = interpolate;
163
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/i18n/parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"common":{"hello":"你好,我是 bsbot","ping":"pong","render":{"wait":"开始渲染啦,请耐心等待 {{sec}} s"}},"ws":{"subscribe":{"update":"Hello {{username}},你关注的谱师「{{mapperName}}」更新啦!✨"}},"commands":{"bsbot":{"help":{"description":"查看帮助 (WIP)","usage":"bbhelp 查看使用方法","examples":"示例\nbbhelp\nbsbot.help"},"message":{"network-error":"☹️似乎发生了网络错误,请稍后重试吧"},"cmp":{"description":"compare 指令 (WIP)"},"who":{"description":"用于查询所@用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbwho 并@某人,如果他/她/它绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbwho @someone\nbsbot.who @someone\nbsbot.who -p ss @someone","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"need-at":"谁?plz 重新执行指令并@ ta","not-bind":"你要查询的ta,还没有绑定哦"},"rank":{"description":"用于查询指定 scoreSaberID 对应用户的 BeatLeader/ScoreSaber 面板","usage":"输入 bbrank + scoreSaberId(也就是steamId)查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbrank 2169974796454690\nbsbot.rank 2169974796454690\nbsbot.rank -p ss 2169974796454690","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"}},"me":{"description":"用于查询自己绑定用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbme,如果已经绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbsbot.me\nbbme\nbbme -p ss","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"not-found":"Ops,似乎还没有绑定到 ScoreSaber 或 BeatLeader","score-not-found":"😯,没有找到 「{{user}}」的谱面 id 为「{{id}}」打分数据"},"bind":{"description":"绑定自己的 ScoreSaberId(也就是 steam 的用户 Id,仅公开信息,无需验证)","usage":"输入 bbbind,后接 userId,按照提示即可绑定","examples":"示例\nbsbot.bind 76561198339986544\nbbbind 76561198339986544","bs":{"not-found":"☹️什么没有找到,这个 code 真的有效吗?","network-error":"☹️似乎发生了网络错误,请稍后重试吧","unknown-error":"☹️不知道发生了什么,暂时无法绑定,请稍后重试吧","invalid-token":"无效 token,请确认给出的 code 有效。","success":"成功绑定 BeatSaver 用户 {{name}}({{id}})"},"bl":{"not-found":"☹️什么没有找到,这个 code 真的有效吗?","network-error":"☹️似乎发生了网络错误,请稍后重试吧","unknown-error":"☹️不知道发生了什么,暂时无法绑定,请稍后重试吧","invalid-token":"无效 token,请确认给出的 code 有效。","success":"成功绑定 BeatLeader 用户 {{name}}({{id}})"},"network-error":"☹️似乎发生了网络错误,请稍后重试吧","exist":"另外,你已经绑定了「{{id}}」,继续绑定丢失当前绑定哦","cancel":"已取消","timeout":"已超时取消","not-found":"Ops,没有找到 id 为「{{id}}」的 {{platform]} 用户","ack-prompt":"确定要绑定「{{user}}」吗,30 秒内回复「y」或「yes」以确认,超时或回复其他内容取消操作","success":"🎉,成功绑定「{{user}}」啦"},"score":{"description":"查询用户在Beatleader 上的某次打分成绩,并生成渲染图。","usage":"1. bbscore 加上 beatleader 的 scoreId,即可生成渲染图。\n2. bbscore 加上 Beatsaver 的 mapId,即可查询自己绑定的Bealeader账号关于该谱面的最高打分,并生成渲染图\n3. bbscore 加上 Beatsaver 的 mapId 并@某人,即可查询该用户绑定的Bealeader账号关于该谱面的最高打分,并生成渲染图","examples":"示例\nbsbot.score 13887221\nbbscore 33b62\nbbscore 33b62@someone","not-a-score-id":"似乎不是一个 score ID","not-bind":"你还没有绑定哦,使用 bind 指令进行绑定吧","who-not-bind":"你要查询的ta,还没有绑定哦"},"search":{"description":"按关键词进行谱面搜索","usage":"通过关键字进行谱面搜索,会发送将最相关的 3 个谱面。","examples":"示例\nbsbot.search megalovania\nbbsou megalovania\nbbsearch megalovania","success":"为你奉上关于「{{key}}」的{{length}}首谱面 🎉","not-found":"Ops,关于「{{key}}」什么都没找到","too-long-key":"关键词长度不应该超过 15 哦,因为这样容易什么都找不到,较长的部分已经帮你截掉啦,正在搜索中「{{key}}」"},"id":{"description":"按谱面id查找谱面。","usage":"根据谱面ID查找谱面。","examples":"示例\nbsbot.id 36677\nbbid 36677\n!bsr 36677\n36677","error-map-id":"「{{input}}」似乎不是一个 mapId,正确的 mapId 是这样的哦(3877a)","not-found":"Ops! 似乎没有找到 id 为「{{input}}」的谱面"},"latest":{"description":"查找最新的三首谱面。","usage":"获取最新的三首谱面。","examples":"示例\nbsbot.latest\nbsbot.new\nbbnew","info":"为你奉上最新的 3 首谱面 🎉"},"subscribe":{"description":"订阅 BeatSaber 相关的事件,并主动推送。(RC)","usage":"通过 bbsub 订阅 BeatSaber 相关的事件,当特定事件发生时会进行主动推送。","examples":"示例\nbsbot.subscribe\nbbsub","alert":{"no-bind-bs-id":"你还未绑定 beatsaver,快使用 bbbindbs 进行绑定吧","not-success":"订阅失败,可能是因为凭证已经过期","success":"成功订阅BeatSaver通知,当新通知出现时,会主动推送给你。","invalid-token":"似乎token 已经失效了,快使用 bbbindbs 重新进行绑定吧"},"beatleader":{"exist":"当前群聊/频道已订阅 BeatLeader 打分更新事件","success":"成功订阅 BeatLeader 打分更新事件,当参与群员出现满足条件的打分事件时,会主动推送"},"beatsaver":{"exist":"当前群聊/频道已订阅 BeatSaver 谱面更新事件","success":"成功订阅 BeatSaver 谱面更新事件,当参与群员发布新谱面时,会主动推送"},"info":{"none":"当前群聊/频道没有任何 BeatSaber 事件订阅。","header":"当前群聊/频道 BeatSaber 订阅如下:","body-item":"订阅类型「{{type}}」, 共 {{cnt}} 名参与成员","body-item-include-you":"(包括你哦)"},"join":{"description":"加入本群聊订阅的 BeatSaber 相关的事件","usage":"","examples":"示例\nbsbot.subscribe\nbbsub","success":{"beatleader":"成功加入本群Beatleader订阅组,当你打出高分时,会在本群推送","beatsaver":"成功加入本群订阅组,当你发布新谱面时,会在本群推送"},"nosub":{"beatleader":"当前群组/频道未启用 beatleader 打分订阅","beatsaver":"当前群组/频道未启用 beatsaver 谱师订阅"}},"leave":{"description":"离开本群 BeatSaber 相关事件订阅组","usage":"","examples":"示例\nbsbot.subscribe 查看当前会话的订阅信息\nbbsub\nbbsub --type beatsaver 为当前会话订阅 beatsaver 新谱面事件,当特定新谱面出现,会主动推送\nbbsub --type beatleader 为当前会话订阅 beatleader 打分事件,当满足要求的打分事件出现,会主动推送\nbbsub --type alert 订阅个人 BeatSaver 通知,当 beatsaver 新通知出现,会主动推送","not-exist":{"beatleader":"你还未加入当前群组/频道的 beatleader 打分订阅,无需离开","beatsaver":null},"success":{"beatleader":"成功离开本群「beatleader」订阅组,当你打出高分时,不会再在本群推送了","beatsaver":"成功离开本群「beatsaver」订阅组,当你发布新谱面时,不会再在本群推送了"}}},"unsubscribe":{"description":"取消订阅 BeatSaber 相关的事件。(RC)","usage":"取消通过 bbsub 订阅的 BeatSaber 相关的事件,当特定事件发生时不会进行主动推送。","examples":"示例\nbsbot.unsubscribe\nbbunsub","nosub":{"beatleader":"当前群组/频道未启用 beatleader 打分订阅","beatsaver":"当前群组/频道未启用 beatsaver 谱师订阅"},"success":{"beatleader":"成功禁用 beatleader 打分订阅","beatsaver":"成功禁用 beatsaver 谱师订阅"},"cancel-all":"已成功取消所有更新订阅","cancel":"已取消对谱师「{id}」的更新订阅"}}},"_config":{"beatSaverHost":"BeatSaverOrigin,例如:https://api.beatsaver.com","beatSaverWSHost":"BeatSaverWebSocketOrigin,用于实时监听谱面更新,例如wss://ws.beatsaver.com/maps","renderMode":"谱面图是由插件本地生成/远程获取"}}
1
+ {"common":{"hello":"你好,我是 bsbot","ping":"pong","render":{"wait":"开始渲染啦,请耐心等待 {{sec}} s"}},"ws":{"subscribe":{"update":"Hello {{username}},你关注的谱师「{{mapperName}}」更新啦!✨"}},"commands":{"bsbot":{"help":{"description":"查看帮助 (WIP)","usage":"bbhelp 查看使用方法","examples":"示例\nbbhelp\nbsbot.help"},"message":{"network-error":"☹️似乎发生了网络错误,请稍后重试吧"},"cmp":{"description":"compare 指令 (WIP)"},"who":{"description":"用于查询所@用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbwho 并@某人,如果他/她/它绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbwho @someone\nbsbot.who @someone\nbsbot.who -p ss @someone","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"need-at":"谁?plz 重新执行指令并@ ta","not-bind":"你要查询的ta,还没有绑定哦"},"rank":{"description":"用于查询指定 scoreSaberID 对应用户的 BeatLeader/ScoreSaber 面板","usage":"输入 bbrank + scoreSaberId(也就是steamId)查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbrank 2169974796454690\nbsbot.rank 2169974796454690\nbsbot.rank -p ss 2169974796454690","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"}},"me":{"description":"用于查询自己绑定用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbme,如果已经绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbsbot.me\nbbme\nbbme -p ss","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"not-found":"Ops,似乎还没有绑定到 ScoreSaber 或 BeatLeader","score-not-found":"😯,没有找到用户「{{user}}」的谱面「{{id}} ({{mode ? '{{mode}}' : '' }} {{diff ? '-{{diff}}' : '' }})」的打分数据"},"bind":{"description":"绑定自己的 ScoreSaberId(也就是 steam 的用户 Id,仅公开信息,无需验证)","usage":"输入 bbbind,后接 userId,按照提示即可绑定","examples":"示例\nbsbot.bind 76561198339986544\nbbbind 76561198339986544","bs":{"not-found":"☹️什么没有找到,这个 code 真的有效吗?","network-error":"☹️似乎发生了网络错误,请稍后重试吧","unknown-error":"☹️不知道发生了什么,暂时无法绑定,请稍后重试吧","invalid-token":"无效 token,请确认给出的 code 有效。","success":"成功绑定 BeatSaver 用户 {{name}}({{id}})"},"bl":{"not-found":"☹️什么没有找到,这个 code 真的有效吗?","network-error":"☹️似乎发生了网络错误,请稍后重试吧","unknown-error":"☹️不知道发生了什么,暂时无法绑定,请稍后重试吧","invalid-token":"无效 token,请确认给出的 code 有效。","success":"成功绑定 BeatLeader 用户 {{name}}({{id}})"},"network-error":"☹️似乎发生了网络错误,请稍后重试吧","exist":"另外,你已经绑定了「{{id}}」,继续绑定丢失当前绑定哦","cancel":"已取消","timeout":"已超时取消","not-found":"Ops,没有找到 id 为「{{id}}」的 {{platform]} 用户","ack-prompt":"确定要绑定「{{user}}」吗,30 秒内回复「y」或「yes」以确认,超时或回复其他内容取消操作","success":"🎉,成功绑定「{{user}}」啦"},"score":{"description":"查询用户在Beatleader 上的某次打分成绩,并生成渲染图。","usage":"1. bbscore 加上 beatleader 的 scoreId,即可生成渲染图。\n2. bbscore 加上 Beatsaver 的 mapId,即可查询自己绑定的Bealeader账号关于该谱面的最高打分,并生成渲染图\n3. bbscore 加上 Beatsaver 的 mapId 并@某人,即可查询该用户绑定的Bealeader账号关于该谱面的最高打分,并生成渲染图","examples":"示例\nbsbot.score 13887221\nbbscore 33b62\nbbscore 33b62@someone","not-a-score-id":"似乎不是一个 score ID","not-bind":"你还没有绑定哦,使用 bind 指令进行绑定吧","who-not-bind":"你要查询的ta,还没有绑定哦"},"search":{"description":"按关键词进行谱面搜索","usage":"通过关键字进行谱面搜索,会发送将最相关的 3 个谱面。","examples":"示例\nbsbot.search megalovania\nbbsou megalovania\nbbsearch megalovania","success":"为你奉上关于「{{key}}」的{{length}}首谱面 🎉","not-found":"Ops,关于「{{key}}」什么都没找到","too-long-key":"关键词长度不应该超过 15 哦,因为这样容易什么都找不到,较长的部分已经帮你截掉啦,正在搜索中「{{key}}」"},"id":{"description":"按谱面id查找谱面。","usage":"根据谱面ID查找谱面。","examples":"示例\nbsbot.id 36677\nbbid 36677\n!bsr 36677\n36677","error-map-id":"「{{input}}」似乎不是一个 mapId,正确的 mapId 是这样的哦(3877a)","not-found":"Ops! 似乎没有找到 id 为「{{input}}」的谱面"},"latest":{"description":"查找最新的三首谱面。","usage":"获取最新的三首谱面。","examples":"示例\nbsbot.latest\nbsbot.new\nbbnew","info":"为你奉上最新的 3 首谱面 🎉"},"subscribe":{"description":"订阅 BeatSaber 相关的事件,并主动推送。(RC)","usage":"通过 bbsub 订阅 BeatSaber 相关的事件,当特定事件发生时会进行主动推送。","examples":"示例\nbsbot.subscribe\nbbsub","alert":{"no-bind-bs-id":"你还未绑定 beatsaver,快使用 bbbindbs 进行绑定吧","not-success":"订阅失败,可能是因为凭证已经过期","success":"成功订阅BeatSaver通知,当新通知出现时,会主动推送给你。","invalid-token":"似乎token 已经失效了,快使用 bbbindbs 重新进行绑定吧"},"beatleader":{"exist":"当前群聊/频道已订阅 BeatLeader 打分更新事件","success":"成功订阅 BeatLeader 打分更新事件,当参与群员出现满足条件的打分事件时,会主动推送"},"beatsaver":{"exist":"当前群聊/频道已订阅 BeatSaver 谱面更新事件","success":"成功订阅 BeatSaver 谱面更新事件,当参与群员发布新谱面时,会主动推送"},"info":{"none":"当前群聊/频道没有任何 BeatSaber 事件订阅。","header":"当前群聊/频道 BeatSaber 订阅如下:","body-item":"订阅类型「{{type}}」, 共 {{cnt}} 名参与成员","body-item-include-you":"(包括你哦)"},"join":{"description":"加入本群聊订阅的 BeatSaber 相关的事件","usage":"","examples":"示例\nbsbot.subscribe\nbbsub","success":{"beatleader":"成功加入本群Beatleader订阅组,当你打出高分时,会在本群推送","beatsaver":"成功加入本群订阅组,当你发布新谱面时,会在本群推送"},"nosub":{"beatleader":"当前群组/频道未启用 beatleader 打分订阅","beatsaver":"当前群组/频道未启用 beatsaver 谱师订阅"}},"leave":{"description":"离开本群 BeatSaber 相关事件订阅组","usage":"","examples":"示例\nbsbot.subscribe 查看当前会话的订阅信息\nbbsub\nbbsub --type beatsaver 为当前会话订阅 beatsaver 新谱面事件,当特定新谱面出现,会主动推送\nbbsub --type beatleader 为当前会话订阅 beatleader 打分事件,当满足要求的打分事件出现,会主动推送\nbbsub --type alert 订阅个人 BeatSaver 通知,当 beatsaver 新通知出现,会主动推送","not-exist":{"beatleader":"你还未加入当前群组/频道的 beatleader 打分订阅,无需离开","beatsaver":null},"success":{"beatleader":"成功离开本群「beatleader」订阅组,当你打出高分时,不会再在本群推送了","beatsaver":"成功离开本群「beatsaver」订阅组,当你发布新谱面时,不会再在本群推送了"}}},"unsubscribe":{"description":"取消订阅 BeatSaber 相关的事件。(RC)","usage":"取消通过 bbsub 订阅的 BeatSaber 相关的事件,当特定事件发生时不会进行主动推送。","examples":"示例\nbsbot.unsubscribe\nbbunsub","nosub":{"beatleader":"当前群组/频道未启用 beatleader 打分订阅","beatsaver":"当前群组/频道未启用 beatsaver 谱师订阅"},"success":{"beatleader":"成功禁用 beatleader 打分订阅","beatsaver":"成功禁用 beatsaver 谱师订阅"},"cancel-all":"已成功取消所有更新订阅","cancel":"已取消对谱师「{id}」的更新订阅"}}},"_config":{"beatSaverHost":"BeatSaverOrigin,例如:https://api.beatsaver.com","beatSaverWSHost":"BeatSaverWebSocketOrigin,用于实时监听谱面更新,例如wss://ws.beatsaver.com/maps","renderMode":"谱面图是由插件本地生成/远程获取"}}
@@ -12,4 +12,7 @@ interface ScoreItemProps {
12
12
  self: boolean;
13
13
  }
14
14
  export declare function RankScoreItem(props: ScoreItemProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function ScoreItemSkeleton({ isRegionRank }: {
16
+ isRegionRank: boolean;
17
+ }): import("react/jsx-runtime").JSX.Element;
15
18
  export {};
@@ -26,13 +26,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.RankScoreItem = void 0;
29
+ exports.ScoreItemSkeleton = exports.RankScoreItem = void 0;
30
30
  const jsx_runtime_1 = require("react/jsx-runtime");
31
31
  const dayjs_1 = __importDefault(require("dayjs"));
32
32
  const flag_1 = __importStar(require("../../img-render/components/flag"));
33
33
  const utils_1 = require("../../img-render/utils");
34
34
  function RankScoreItem(props) {
35
- return ((0, jsx_runtime_1.jsx)("div", { className: `bs-bg-gradient shadow-xl rounded-lg -skew-x-12 w-80 h-20 text-white font-bold flex flex-col p-1 z-10 relative max-w-[300px] ${props.self && `gradient-border`} `, children: (0, jsx_runtime_1.jsxs)("div", { className: "skew-x-12 relative", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center translate-x-2 justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: 'w-12 h-12 relative', children: [(0, jsx_runtime_1.jsx)("img", { src: props.avatar, className: "shadow-lg w-12 h-12 rounded-full object-cover" }), (0, jsx_runtime_1.jsx)("div", { className: 'w-3 h-3 absolute bottom-0 right-3', children: (0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: props.countryCode }) })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: 'line-clamp-1 text-ellipsis max-w-[100px]', children: props.name }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [!props.isRegionRank && (0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", props.globalRank] })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-end -translate-x-2 -skew-x-3", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(props.acc * 100).toFixed(2), " %"] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex gap-2', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'space-x-1', children: [' ', props.modifiers.split(',').map((it) => ((0, jsx_runtime_1.jsx)("span", { className: '', children: it }, it))), ' '] }), (0, jsx_runtime_1.jsx)("div", { children: (0, utils_1.numberWithCommas)(props.score) })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between mt-0 px-4 -translate-x-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex gap-2", children: (0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start -skew-x-2 text-xs opacity-60", children: (0, jsx_runtime_1.jsx)("div", { children: (0, utils_1.formatDate)((0, dayjs_1.default)(props.date * 1000).toDate(), 'YYYY 年 MM 月 DD 日') }) }) }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start translate-x-6 text-xl font-bold text-green-300", children: (0, jsx_runtime_1.jsxs)("div", { children: [" ", props.pp.toFixed(2), " PP"] }) }) })] })] }) }));
35
+ return ((0, jsx_runtime_1.jsx)("div", { className: `${props.self ? 'gradient-border' : ''} bs-bg-gradient shadow-xl rounded-lg -skew-x-12 w-80 h-20 text-white font-bold flex flex-col p-1 z-10 relative max-w-[300px]`, children: (0, jsx_runtime_1.jsxs)("div", { className: "skew-x-12 relative", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center translate-x-2 justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: 'w-12 h-12 relative', children: [(0, jsx_runtime_1.jsx)("img", { src: props.avatar, className: "shadow-lg w-12 h-12 rounded-full object-cover" }), (0, jsx_runtime_1.jsx)("div", { className: 'w-3 h-3 absolute bottom-0 right-3', children: (0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: props.countryCode }) })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: 'line-clamp-1 text-ellipsis max-w-[100px]', children: props.name }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [!props.isRegionRank && (0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", props.globalRank] })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-end -translate-x-2 -skew-x-3", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(props.acc * 100).toFixed(2), " %"] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'space-x-1', children: props.modifiers.split(',').map((it) => ((0, jsx_runtime_1.jsx)("span", { children: it }, it))) }), (0, jsx_runtime_1.jsx)("div", { children: (0, utils_1.numberWithCommas)(props.score) })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between mt-0 px-4 -translate-x-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex gap-2", children: (0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start -skew-x-2 text-xs opacity-60", children: (0, jsx_runtime_1.jsx)("div", { children: (0, utils_1.formatDate)((0, dayjs_1.default)(props.date * 1000).toDate(), 'YY 年 MM 月 DD 日') }) }) }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start translate-x-6 text-xl font-bold text-green-300", children: (0, jsx_runtime_1.jsxs)("div", { children: [" ", props.pp.toFixed(2), " PP"] }) }) })] })] }) }));
36
36
  }
37
37
  exports.RankScoreItem = RankScoreItem;
38
+ function ScoreItemSkeleton({ isRegionRank }) {
39
+ return ((0, jsx_runtime_1.jsx)("div", { className: `bs-bg-gradient shadow-xl rounded-lg -skew-x-12 w-80 h-20 text-white font-bold flex flex-col p-1 z-10 relative max-w-[300px]`, children: (0, jsx_runtime_1.jsxs)("div", { className: "skew-x-12 relative", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center translate-x-2 justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2", children: [(0, jsx_runtime_1.jsx)("div", { className: 'w-12 h-12 relative', children: (0, jsx_runtime_1.jsx)("img", { src: `https://avatar.iran.liara.run/public`, className: "shadow-lg w-12 h-12 rounded-full object-cover" }) }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: 'line-clamp-1 text-ellipsis max-w-[100px]', children: "\u865A\u4F4D\u4EE5\u5F85" }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [!isRegionRank && (0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsx)("span", { children: "# 0 " })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-end -translate-x-2 -skew-x-3", children: [(0, jsx_runtime_1.jsx)("div", { children: "0.00 %" }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'space-x-1', children: " " }), (0, jsx_runtime_1.jsx)("div", { children: "000,000" })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between mt-0 px-4 -translate-x-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start -skew-x-2 text-xs opacity-60", children: (0, jsx_runtime_1.jsx)("div", { children: "00 \u5E74 00 \u6708 00 \u65E5" }) }), (0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start translate-x-6 text-xl font-bold text-green-300", children: (0, jsx_runtime_1.jsx)("div", { children: " 0.00 PP" }) })] })] }) }));
40
+ }
41
+ exports.ScoreItemSkeleton = ScoreItemSkeleton;
38
42
  //# sourceMappingURL=rankScoreItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rankScoreItem.js","sourceRoot":"","sources":["../../../src/img-render/components/rankScoreItem.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,qEAA+D;AAC/D,8CAAiE;AAejE,SAAgB,aAAa,CAAC,KAAqB;IACjD,OAAO,CACL,gCACE,SAAS,EAAE,+HAA+H,KAAK,CAAC,IAAI,IAAI,iBAAiB,GAAG,YAE5K,iCAAK,SAAS,EAAC,oBAAoB,aACjC,iCAAK,SAAS,EAAC,iDAAiD,aAC9D,iCAAK,SAAS,EAAC,YAAY,aACzB,iCAAK,SAAS,EAAE,oBAAoB,aAClC,gCACE,GAAG,EAAE,KAAK,CAAC,MAAM,EACjB,SAAS,EAAC,+CAA+C,GACzD,EACF,gCAAK,SAAS,EAAE,mCAAmC,YACjD,uBAAC,cAAK,IAAC,cAAc,EAAE,KAAK,CAAC,WAAW,GAAI,GACxC,IACF,EACN,4CACE,gCAAK,SAAS,EAAE,0CAA0C,YACvD,KAAK,CAAC,IAAI,GACP,EACN,kCAAM,SAAS,EAAC,6BAA6B,aAC1C,CAAC,KAAK,CAAC,YAAY,IAAI,uBAAC,gBAAS,KAAG,EACrC,mDAAS,KAAK,CAAC,UAAU,IAAQ,IAC5B,IACH,IACF,EAEN,iCAAK,SAAS,EAAC,kDAAkD,aAC/D,4CAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAS,EAC3C,iCAAK,SAAS,EAAE,YAAY,aAC1B,iCAAK,SAAS,EAAE,WAAW,aACxB,GAAG,EACH,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACtC,iCAAe,SAAS,EAAE,EAAE,YACzB,EAAE,IADM,EAAE,CAEN,CACR,CAAC,EAAE,GAAG,IACH,EACN,0CAAM,IAAA,wBAAgB,EAAC,KAAK,CAAC,KAAK,CAAC,GAAO,IACtC,IACF,IACF,EACN,iCAAK,SAAS,EAAC,4DAA4D,aACzE,gCAAK,SAAS,EAAC,YAAY,YACzB,gCAAK,SAAS,EAAC,oEAAoE,YACjF,0CACG,IAAA,kBAAU,EACT,IAAA,eAAK,EAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,EACjC,kBAAkB,CACnB,GACG,GACF,GAKF,EACN,0CACE,gCAAK,SAAS,EAAC,sFAAsF,YACnG,iDAAO,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAU,GAChC,GACF,IACF,IACF,GACF,CACP,CAAA;AACH,CAAC;AAnED,sCAmEC"}
1
+ {"version":3,"file":"rankScoreItem.js","sourceRoot":"","sources":["../../../src/img-render/components/rankScoreItem.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,qEAA+D;AAC/D,8CAAiE;AAejE,SAAgB,aAAa,CAAC,KAAqB;IACjD,OAAO,CACL,gCACE,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,8HAA8H,YAE/K,iCAAK,SAAS,EAAC,oBAAoB,aACjC,iCAAK,SAAS,EAAC,iDAAiD,aAC9D,iCAAK,SAAS,EAAC,YAAY,aACzB,iCAAK,SAAS,EAAE,oBAAoB,aAClC,gCACE,GAAG,EAAE,KAAK,CAAC,MAAM,EACjB,SAAS,EAAC,+CAA+C,GACzD,EACF,gCAAK,SAAS,EAAE,mCAAmC,YACjD,uBAAC,cAAK,IAAC,cAAc,EAAE,KAAK,CAAC,WAAW,GAAI,GACxC,IACF,EACN,4CACE,gCAAK,SAAS,EAAE,0CAA0C,YACvD,KAAK,CAAC,IAAI,GACP,EACN,kCAAM,SAAS,EAAC,6BAA6B,aAC1C,CAAC,KAAK,CAAC,YAAY,IAAI,uBAAC,gBAAS,KAAG,EACrC,mDAAS,KAAK,CAAC,UAAU,IAAQ,IAC5B,IACH,IACF,EAEN,iCAAK,SAAS,EAAC,kDAAkD,aAC/D,4CAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAS,EAC3C,iCAAK,SAAS,EAAE,YAAY,aAC1B,gCAAK,SAAS,EAAE,WAAW,YACxB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACtC,2CAAgB,EAAE,IAAP,EAAE,CAAa,CAC3B,CAAC,GACE,EACN,0CAAM,IAAA,wBAAgB,EAAC,KAAK,CAAC,KAAK,CAAC,GAAO,IACtC,IACF,IACF,EACN,iCAAK,SAAS,EAAC,4DAA4D,aACzE,gCAAK,SAAS,EAAC,YAAY,YACzB,gCAAK,SAAS,EAAC,oEAAoE,YACjF,0CACG,IAAA,kBAAU,EACT,IAAA,eAAK,EAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,EACjC,gBAAgB,CACjB,GACG,GACF,GACF,EACN,0CACE,gCAAK,SAAS,EAAC,sFAAsF,YACnG,iDAAO,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAU,GAChC,GACF,IACF,IACF,GACF,CACP,CAAA;AACH,CAAC;AA5DD,sCA4DC;AAED,SAAgB,iBAAiB,CAAC,EAAE,YAAY,EAA6B;IAC3E,OAAO,CACL,gCACE,SAAS,EAAE,6HAA6H,YAExI,iCAAK,SAAS,EAAC,oBAAoB,aACjC,iCAAK,SAAS,EAAC,iDAAiD,aAC9D,iCAAK,SAAS,EAAC,YAAY,aACzB,gCAAK,SAAS,EAAE,oBAAoB,YAClC,gCACE,GAAG,EAAE,sCAAsC,EAC3C,SAAS,EAAC,+CAA+C,GACzD,GACE,EACN,4CACE,gCAAK,SAAS,EAAE,0CAA0C,yCAEpD,EACN,kCAAM,SAAS,EAAC,6BAA6B,aAC1C,CAAC,YAAY,IAAI,uBAAC,gBAAS,KAAG,EAC/B,oDAAiB,IACZ,IACH,IACF,EAEN,iCAAK,SAAS,EAAC,kDAAkD,aAC/D,qDAAiB,EACjB,iCAAK,SAAS,EAAE,YAAY,aAC1B,gCAAK,SAAS,EAAE,WAAW,kBAAS,EACpC,sDAAkB,IACd,IACF,IACF,EACN,iCAAK,SAAS,EAAC,4DAA4D,aACzE,gCAAK,SAAS,EAAC,oEAAoE,YACjF,4EAAyB,GACrB,EACN,gCAAK,SAAS,EAAC,sFAAsF,YACnG,uDAAmB,GACf,IACF,IACF,GACF,CACP,CAAA;AACH,CAAC;AA5CD,8CA4CC"}
@@ -1,22 +1,24 @@
1
+ /// <reference types="node" />
1
2
  import { APIService } from '../api';
2
3
  import { RenderOption } from './interfaces';
3
4
  import { Config } from '../config';
4
5
  import { BSMap } from '../api/interfaces/beatsaver';
5
6
  import { ImgRender, Platform } from '../interface';
6
- type HtmlToImgBufferConverter = (html: string, onRenderStart?: () => void, onRenderError?: (e: any) => void) => Promise<any>;
7
+ type HtmlToImgBufferConverter = (html: string, onRenderStart?: () => void, onRenderError?: (e: any) => void) => Promise<Buffer>;
8
+ type UrlToImgBufferConverter = HtmlToImgBufferConverter;
7
9
  export declare abstract class RenderService implements ImgRender {
8
10
  config: Config;
9
11
  api: APIService;
10
12
  baseConfig: Partial<RenderOption>;
11
13
  htmlToImgBufferConverter: HtmlToImgBufferConverter;
12
- urlToImgBufferConverter: HtmlToImgBufferConverter;
13
- renderRank(accountId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
14
- _renderRank: (accountId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<any>;
15
- renderScore(scoreId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
16
- _renderScore: (scoreId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<any>;
17
- renderMapById(mapId: string, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
18
- renderMap(map: BSMap, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
19
- renderUrl(url: string): Promise<any>;
20
- _renderMap: (bsMap: BSMap, renderOpts: RenderOption) => Promise<any>;
14
+ urlToImgBufferConverter: UrlToImgBufferConverter;
15
+ renderRank(accountId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
16
+ _renderRank: (accountId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<Buffer>;
17
+ renderScore(scoreId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
18
+ _renderScore: (scoreId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<Buffer>;
19
+ renderMapById(mapId: string, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
20
+ renderMap(map: BSMap, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
21
+ renderUrl(url: string): Promise<Buffer>;
22
+ _renderMap: (bsMap: BSMap, renderOpts: RenderOption) => Promise<Buffer>;
21
23
  }
22
24
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/img-render/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/img-render/index.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,21 @@ const utils_1 = require("../../img-render/utils");
13
13
  const progressbar_1 = __importDefault(require("../../img-render/components/progressbar"));
14
14
  function BLRankScore({ score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, }) {
15
15
  const bg = 'https://www.loliapi.com/acg/pc/';
16
+ let aroundScore = aroundScores
17
+ .slice(0, 7)
18
+ .map((it) => ({ ...it, template: false }));
19
+ let regionTopScore = regionTopScores
20
+ .slice(0, 7)
21
+ .map((it) => ({ ...it, template: false }));
22
+ if (aroundScore.length < 7) {
23
+ aroundScore = aroundScore.concat(new Array(7 - aroundScore.length).fill({ template: true }));
24
+ }
25
+ if (regionTopScore.length < 7) {
26
+ regionTopScore = regionTopScore.concat(new Array(7 - regionTopScore.length).fill({ template: true }));
27
+ }
16
28
  return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col justify-center items-center relative h-[720px] w-[1165px] my-auto rounded-none', id: "render-result", children: [(0, jsx_runtime_1.jsx)("div", { className: 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white flex flex-col justify-between z-10', children: (0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between items-start gap-2 grow', children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-start justify-between text-xl font-bold grow h-full", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 items-center justify-between text-2xl font-bold", children: [(0, jsx_runtime_1.jsx)(avatar_1.Avatar, { className: 'h-16 w-16 rounded-full', src: score.player.avatar, fallback: score.player.name.slice(0, 1) }), (0, jsx_runtime_1.jsx)("div", { children: score.player.name })] }), (0, jsx_runtime_1.jsx)("div", { className: "text-xl text-ellipsis line-clamp-2", children: score.song.name }), (0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 h-52", children: [(0, jsx_runtime_1.jsx)(avatar_1.Avatar, { className: 'h-52 w-52 rounded-md', src: score.song.cover, fallback: score.song.name.slice(0, 1) }), (0, jsx_runtime_1.jsxs)("div", { className: "text-xs font-bold flex flex-col items-start justify-between grow w-full", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-2 items-center text-sm", children: [(0, jsx_runtime_1.jsx)(avatar_1.Avatar, { className: 'h-4 w-4 rounded-full', src: bsMap.uploader.avatar, fallback: score.song.mapper.slice(0, 1) }), (0, jsx_runtime_1.jsx)("div", { className: "flex items-center justify-between", children: (0, jsx_runtime_1.jsx)("div", { className: "text-ellipsis line-clamp-1", children: score.song.mapper }) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "text-xs flex gap-2 items-center *:space-x-1 *:flex *:items-center font-normal", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.HeartPulse, { className: "h-3 w-3" }), (0, jsx_runtime_1.jsx)("span", { children: bsMap.metadata.bpm.toFixed(0) })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Key, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsx)("span", { children: score.song.id.toLowerCase().replaceAll('x', '') })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Clock, { className: "h-3 w-3" }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.formatDuration)(bsMap.metadata.duration) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center text-ellipsis col-span-2 line-clamp-1", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Calendar, { className: "h-3 w-3" }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.formatTime)(bsMap.lastPublishedAt) })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center space-x-2 justify-between font-normal", children: [(0, jsx_runtime_1.jsx)(progressbar_1.default, { value: bsMap.stats.score * 100 }), (0, jsx_runtime_1.jsxs)("span", { children: [(bsMap.stats.score * 100).toFixed(2), " %"] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ThumbsUp, { className: "h-3 w-3 mr-0.5" }), (0, jsx_runtime_1.jsx)("span", { children: bsMap.stats.upvotes })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ThumbsDown, { className: "h-3 w-3 mr-0.5" }), (0, jsx_runtime_1.jsx)("span", { children: bsMap.stats.downvotes })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'text-lg min-w-60 flex flex-col leading-6', children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between items-center", children: [(0, jsx_runtime_1.jsxs)("span", { children: [" # ", score.pp.toFixed(2), " PP"] }), (0, jsx_runtime_1.jsxs)("span", { children: [" # ", score.rank] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Accuracy" }), (0, jsx_runtime_1.jsxs)("span", { children: [(score.accuracy * 100).toFixed(2), " %"] })] }), score.fullCombo && ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Full Combo" }), (0, jsx_runtime_1.jsx)(lucide_react_1.Check, {})] })), score.maxCombo && ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Max Combo" }), (0, jsx_runtime_1.jsx)("span", { children: score.maxCombo })] })), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Missed Notes" }), (0, jsx_runtime_1.jsx)("span", { children: score.missedNotes })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Total Mistakes" }), (0, jsx_runtime_1.jsx)("span", { children: score.missedNotes })] }), score.modifiers && ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Modifiers" }), (0, jsx_runtime_1.jsx)("span", { children: score.modifiers })] }))] })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "text-xl font-bold h-24 w-[500px] rounded-lg mt-auto flex items-center justify-evenly gap-2 ", children: difficulties
17
29
  .filter((it) => it.mode === 1)
18
- .map((diff) => ((0, jsx_runtime_1.jsx)(RankDifficulty_1.RankDifficulty, { difficulty: diff.difficultyName, stars: diff.stars, current: score.difficulty.id === diff.id }, diff.difficultyName))) }), (0, jsx_runtime_1.jsxs)("div", { className: "align-end mt-2 mb-2", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-xl font-bold", children: "AccGraph" }), (0, jsx_runtime_1.jsx)(scoregraph_1.default, { scoreId: score.id, scoreInfo: score, statistic: statistic, bsor: bsor, height: 240, width: 480 })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between gap-2 items-center mt-auto', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col items-center gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'text-white font-bold text-3xl mr-auto', children: "Global Rank" }), aroundScores.slice(0, 7).map((aroundScore) => ((0, jsx_runtime_1.jsx)(rankScoreItem_1.RankScoreItem, { name: aroundScore.player.name, date: aroundScore.timepost, countryCode: aroundScore.player.country ?? 'CN', avatar: aroundScore.player.avatar, globalRank: aroundScore.rank, score: aroundScore.modifiedScore, modifiers: aroundScore.modifiers, isRegionRank: false, acc: aroundScore.accuracy, pp: aroundScore.pp, self: aroundScore.player.id === score.playerId }, aroundScore.id)))] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col items-center gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'text-white font-bold text-3xl mr-auto', children: "Region Top Rank" }), regionTopScores.slice(0, 7).map((aroundScore) => ((0, jsx_runtime_1.jsx)(rankScoreItem_1.RankScoreItem, { name: aroundScore.player.name, date: aroundScore.timepost, countryCode: aroundScore.player.country ?? 'CN', avatar: aroundScore.player.avatar, globalRank: aroundScore.rank, score: aroundScore.modifiedScore, modifiers: aroundScore.modifiers, isRegionRank: true, acc: aroundScore.accuracy, pp: aroundScore.pp, self: aroundScore.player.id === score.playerId }, aroundScore.id)))] })] })] }) }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 rounded-lg absolute h-full object-cover w-full', loading: 'eager' })] }) }));
30
+ .map((diff) => ((0, jsx_runtime_1.jsx)(RankDifficulty_1.RankDifficulty, { difficulty: diff.difficultyName, stars: diff.stars, current: score.difficulty.id === diff.id }, diff.difficultyName))) }), (0, jsx_runtime_1.jsxs)("div", { className: "align-end mt-2 mb-2", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-xl font-bold", children: "AccGraph" }), (0, jsx_runtime_1.jsx)(scoregraph_1.default, { scoreId: score.id, scoreInfo: score, statistic: statistic, bsor: bsor, height: 240, width: 480 })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between gap-2 items-start mt-auto', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col items-start gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'text-white font-bold text-3xl mr-auto', children: "Global Rank" }), aroundScore.map((cur, idx) => !cur.template ? ((0, jsx_runtime_1.jsx)(rankScoreItem_1.RankScoreItem, { name: cur.player.name, date: cur.timepost, countryCode: cur.player.country ?? 'CN', avatar: cur.player.avatar, globalRank: cur.rank, score: cur.modifiedScore, modifiers: cur.modifiers, isRegionRank: false, acc: cur.accuracy, pp: cur.pp, self: cur.player.id === score.playerId }, cur.id)) : ((0, jsx_runtime_1.jsx)(rankScoreItem_1.ScoreItemSkeleton, { isRegionRank: false }, idx)))] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col items-start gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'text-white font-bold text-3xl mr-auto', children: "Region Top Rank" }), regionTopScore.map((cur, idx) => !cur.template ? ((0, jsx_runtime_1.jsx)(rankScoreItem_1.RankScoreItem, { name: cur.player.name, date: cur.timepost, countryCode: cur.player.country ?? 'CN', avatar: cur.player.avatar, globalRank: cur.rank, score: cur.modifiedScore, modifiers: cur.modifiers, isRegionRank: true, acc: cur.accuracy, pp: cur.pp, self: cur.player.id === score.playerId }, cur.id)) : ((0, jsx_runtime_1.jsx)(rankScoreItem_1.ScoreItemSkeleton, { isRegionRank: true }, idx)))] })] })] }) }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 rounded-lg absolute h-full object-cover w-full', loading: 'eager' })] }) }));
19
31
  }
20
32
  exports.default = BLRankScore;
21
33
  //# sourceMappingURL=bs-score-with-rank.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bs-score-with-rank.js","sourceRoot":"","sources":["../../../src/img-render/result/bs-score-with-rank.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bs-score-with-rank.js","sourceRoot":"","sources":["../../../src/img-render/result/bs-score-with-rank.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { Config } from '../config';
2
3
  import { APIService } from '../api';
3
4
  import { RenderOption } from '../img-render/interfaces';
@@ -12,10 +13,10 @@ export interface ImgRender {
12
13
  _renderRank: (accountId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<any>;
13
14
  _renderScore: (scoreId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<any>;
14
15
  _renderMap: (bsMap: BSMap, renderOpts: RenderOption) => Promise<any>;
15
- renderRank(accountId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
16
- renderScore(scoreId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
17
- renderMapById(mapId: string, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
18
- renderMap(map: BSMap, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
19
- renderUrl(url: string, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
16
+ renderRank(accountId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
17
+ renderScore(scoreId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
18
+ renderMapById(mapId: string, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
19
+ renderMap(map: BSMap, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
20
+ renderUrl(url: string, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
20
21
  }
21
22
  export {};
@@ -1,4 +1,6 @@
1
1
  export * from './cache';
2
+ export * from './s3';
3
+ export * from './puppeteer';
2
4
  export declare const fetchWithCache: <T>(...args: any[]) => Promise<T>;
3
5
  export declare const handleWSEventWithCache: (fnThat: any, fn: any, ttl: any, eventParser: any, eventFilter: any, eventIdSelector: any) => (event: any) => Promise<void>;
4
6
  export declare const sleep: (millsec?: number) => Promise<void>;
@@ -18,6 +18,8 @@ exports.convertDiff = exports.sleep = exports.handleWSEventWithCache = exports.f
18
18
  const cache_1 = require("../utils/cache");
19
19
  const lru_cache_1 = require("lru-cache");
20
20
  __exportStar(require("./cache"), exports);
21
+ __exportStar(require("./s3"), exports);
22
+ __exportStar(require("./puppeteer"), exports);
21
23
  const fetchWithCache = async (...args) => {
22
24
  const res = cache_1.cache.get(args);
23
25
  if (res) {
@@ -44,7 +46,7 @@ const handleWSEventWithCache = (fnThat, fn, ttl, eventParser, eventFilter, event
44
46
  return async function (event) {
45
47
  const data = eventParser(event);
46
48
  const key = eventIdSelector(data);
47
- if (eventFilter(data) || WSCache.get(key)) {
49
+ if (!eventFilter(data) || WSCache.get(key)) {
48
50
  // console.log(`${key} hit cache, skip it, remainingTTL: `, WSCache.getRemainingTTL(key))
49
51
  return;
50
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAqC;AACrC,yCAAoC;AAEpC,0CAAuB;AAEhB,MAAM,cAAc,GAAG,KAAK,EAAK,GAAG,IAAI,EAAc,EAAE;IAC7D,MAAM,GAAG,GAAG,aAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,GAAQ,CAAA;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAW,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAO,CAAC,CAAA;IACtE,aAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvB,OAAO,MAAW,CAAA;AACpB,CAAC,CAAA;AARY,QAAA,cAAc,kBAQ1B;AAED,6CAA6C;AAEtC,MAAM,sBAAsB,GAAG,CACpC,MAAM,EACN,EAAE,EACF,GAAG,EACH,WAAW,EACX,WAAW,EACX,eAAe,EACf,EAAE;IACF,MAAM,OAAO,GAAG,IAAI,oBAAQ,CAAC;QAC3B,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,EAAE;QACR,eAAe,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,6CAA6C;QAC7C,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,GAAG;KACT,CAAC,CAAA;IAEF,OAAO,KAAK,WAAW,KAAU;QAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,yFAAyF;YACzF,OAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACtB,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAChC,CAAC,CAAA;AACH,CAAC,CAAA;AA9BY,QAAA,sBAAsB,0BA8BlC;AAEM,MAAM,KAAK,GAAG,KAAK,EAAE,UAAkB,IAAI,EAAE,EAAE;IACpD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAJY,QAAA,KAAK,SAIjB;AAED,MAAM,OAAO,GAAG;IACd,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,MAAM;IACT,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;CACpB,CAAA;AAEM,MAAM,WAAW,GAAG,CAAC,IAAmB,EAAE,EAAE;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;AACpC,CAAC,CAAA;AALY,QAAA,WAAW,eAKvB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAqC;AACrC,yCAAoC;AAEpC,0CAAuB;AACvB,uCAAoB;AAEpB,8CAA2B;AAEpB,MAAM,cAAc,GAAG,KAAK,EAAK,GAAG,IAAI,EAAc,EAAE;IAC7D,MAAM,GAAG,GAAG,aAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,GAAQ,CAAA;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAW,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAO,CAAC,CAAA;IACtE,aAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvB,OAAO,MAAW,CAAA;AACpB,CAAC,CAAA;AARY,QAAA,cAAc,kBAQ1B;AAED,6CAA6C;AAEtC,MAAM,sBAAsB,GAAG,CACpC,MAAM,EACN,EAAE,EACF,GAAG,EACH,WAAW,EACX,WAAW,EACX,eAAe,EACf,EAAE;IACF,MAAM,OAAO,GAAG,IAAI,oBAAQ,CAAC;QAC3B,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,EAAE;QACR,eAAe,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,6CAA6C;QAC7C,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,GAAG;KACT,CAAC,CAAA;IAEF,OAAO,KAAK,WAAW,KAAU;QAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,yFAAyF;YACzF,OAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACtB,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAChC,CAAC,CAAA;AACH,CAAC,CAAA;AA9BY,QAAA,sBAAsB,0BA8BlC;AAEM,MAAM,KAAK,GAAG,KAAK,EAAE,UAAkB,IAAI,EAAE,EAAE;IACpD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAJY,QAAA,KAAK,SAIjB;AAED,MAAM,OAAO,GAAG;IACd,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,MAAM;IACT,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;CACpB,CAAA;AAEM,MAAM,WAAW,GAAG,CAAC,IAAmB,EAAE,EAAE;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;AACpC,CAAC,CAAA;AALY,QAAA,WAAW,eAKvB"}
@@ -0,0 +1,20 @@
1
+ /// <reference types="node" />
2
+ import { Browser, ScreenshotClip, ScreenshotOptions } from 'puppeteer-core';
3
+ import { Config } from '../config';
4
+ export interface PuppeteerProvider {
5
+ browser: Browser;
6
+ ok: boolean;
7
+ }
8
+ export declare class RemotePuppeteerProvider implements PuppeteerProvider {
9
+ browser: Browser;
10
+ constructor(config: Config);
11
+ get ok(): boolean;
12
+ }
13
+ export declare class PuppeteerRender {
14
+ browserHolders: PuppeteerProvider[];
15
+ get browser(): Browser;
16
+ get ok(): false | PuppeteerProvider;
17
+ constructor(providers: PuppeteerProvider[]);
18
+ renderHTML(html: string, selector: string, onStart?: () => void, screenShotOption?: (clip: ScreenshotClip) => ScreenshotOptions): Promise<Buffer>;
19
+ screenshotURL(url: string, selector: string, onStart?: () => void, screenShotOption?: (clip: ScreenshotClip) => ScreenshotOptions): Promise<Buffer>;
20
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PuppeteerRender = exports.RemotePuppeteerProvider = void 0;
7
+ const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
8
+ const index_1 = require("./index");
9
+ class RemotePuppeteerProvider {
10
+ browser;
11
+ constructor(config) {
12
+ puppeteer_core_1.default
13
+ .connect({ browserWSEndpoint: config.broswerlessWSEndpoint })
14
+ .then((res) => {
15
+ console.log('connect to browser successful');
16
+ this.browser = res;
17
+ })
18
+ .catch((e) => {
19
+ console.error('connection error', e);
20
+ });
21
+ }
22
+ get ok() {
23
+ return this.browser != null || this.browser != undefined;
24
+ }
25
+ }
26
+ exports.RemotePuppeteerProvider = RemotePuppeteerProvider;
27
+ class PuppeteerRender {
28
+ browserHolders;
29
+ get browser() {
30
+ const provider = this.browserHolders.find((it) => it.ok);
31
+ if (provider) {
32
+ return provider.browser;
33
+ }
34
+ throw Error('NoSuitablePuppeteerProviderFound');
35
+ }
36
+ get ok() {
37
+ return this.browserHolders.find((it) => it.ok) ?? false;
38
+ }
39
+ constructor(providers) {
40
+ // unsafe singleton, but enough for now
41
+ this.browserHolders = providers;
42
+ }
43
+ async renderHTML(html, selector, onStart, screenShotOption) {
44
+ onStart?.();
45
+ const page = await this.browser.newPage();
46
+ await page.setContent(html);
47
+ await page.setViewport({
48
+ width: 1920,
49
+ height: 1080,
50
+ deviceScaleFactor: 2,
51
+ });
52
+ const elm = await page.waitForSelector(selector, { timeout: 5000 });
53
+ const clip = await elm.boundingBox();
54
+ const u8Arr = await elm.screenshot(screenShotOption
55
+ ? screenShotOption(clip)
56
+ : {
57
+ clip: clip,
58
+ type: 'png',
59
+ });
60
+ await page.close();
61
+ return Buffer.from(u8Arr);
62
+ }
63
+ async screenshotURL(url, selector, onStart, screenShotOption) {
64
+ onStart?.();
65
+ const page = await this.browser.newPage();
66
+ await page.setViewport({
67
+ width: 1920,
68
+ height: 1080,
69
+ deviceScaleFactor: 2,
70
+ });
71
+ await page.goto(url, { timeout: 0, waitUntil: 'domcontentloaded' });
72
+ const elm = await page.waitForSelector(selector, { timeout: 20000 });
73
+ // wait for potential animation
74
+ await (0, index_1.sleep)(1000);
75
+ const clip = await elm.boundingBox();
76
+ const buffer = await elm.screenshot(screenShotOption
77
+ ? screenShotOption(clip)
78
+ : {
79
+ clip: clip,
80
+ type: 'png',
81
+ });
82
+ await page.close();
83
+ return Buffer.from(buffer);
84
+ }
85
+ }
86
+ exports.PuppeteerRender = PuppeteerRender;
87
+ //# sourceMappingURL=puppeteer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../../src/utils/puppeteer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="node" />
2
+ import { Config } from '../config';
3
+ export declare class TmpFileStorage {
4
+ private s3Client;
5
+ private readonly bucket;
6
+ private readonly keyPrefix;
7
+ private readonly baseURL;
8
+ constructor(config: Config);
9
+ uploadImg(buffer: Buffer, mimeType?: string): Promise<string>;
10
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TmpFileStorage = void 0;
7
+ const client_s3_1 = require("@aws-sdk/client-s3");
8
+ const crypto_1 = __importDefault(require("crypto"));
9
+ class TmpFileStorage {
10
+ s3Client;
11
+ bucket;
12
+ keyPrefix = '';
13
+ baseURL = '';
14
+ // env sdk, env
15
+ constructor(config) {
16
+ const s3 = new client_s3_1.S3Client({
17
+ region: config.uploadImageToS3.region ?? 'auto',
18
+ endpoint: config.uploadImageToS3.endpoint,
19
+ credentials: {
20
+ accessKeyId: config.uploadImageToS3.s3AccessKey,
21
+ secretAccessKey: config.uploadImageToS3.s3SecretKey,
22
+ },
23
+ });
24
+ this.bucket = config.uploadImageToS3.bucketName;
25
+ this.keyPrefix = config.uploadImageToS3.keyPrefix;
26
+ this.baseURL = config.uploadImageToS3.baseURL;
27
+ this.s3Client = s3;
28
+ }
29
+ async uploadImg(buffer, mimeType) {
30
+ // md5 digest
31
+ const md5 = crypto_1.default.createHash('md5').update(buffer).digest('hex');
32
+ const key = this.keyPrefix ? `${this.keyPrefix}-${md5}` : md5;
33
+ const params = {
34
+ Bucket: this.bucket,
35
+ Key: key,
36
+ Body: buffer,
37
+ ContentType: mimeType ?? 'image/png',
38
+ };
39
+ const command = new client_s3_1.PutObjectCommand(params);
40
+ const data = await this.s3Client.send(command);
41
+ return `${this.baseURL}${key}`;
42
+ }
43
+ }
44
+ exports.TmpFileStorage = TmpFileStorage;
45
+ //# sourceMappingURL=s3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../src/utils/s3.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA+D;AAC/D,oDAA2B;AAG3B,MAAa,cAAc;IACjB,QAAQ,CAAU;IACT,MAAM,CAAQ;IACd,SAAS,GAAW,EAAE,CAAA;IACtB,OAAO,GAAW,EAAE,CAAA;IACrC,eAAe;IACf,YAAY,MAAc;QACxB,MAAM,EAAE,GAAG,IAAI,oBAAQ,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,IAAI,MAAM;YAC/C,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ;YACzC,WAAW,EAAE;gBACX,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,WAAW;gBAC/C,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,WAAW;aACpD;SACF,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,CAAA;QAC/C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,SAAS,CAAA;QACjD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,CAAA;QAC7C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,QAAiB;QAC/C,aAAa;QACb,MAAM,GAAG,GAAG,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;QAC7D,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,QAAQ,IAAI,WAAW;SACrC,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC,MAAM,CAAC,CAAA;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9C,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,CAAA;IAChC,CAAC;CACF;AAnCD,wCAmCC"}
@@ -48,7 +48,7 @@ class BeatSaverWSHandler {
48
48
  }
49
49
  await session.send(`本群谱师 「<at id="${item.account.uid}"/> (${bsmap.uploader.name})」刚刚发布了新谱面,「${bsmap.name}」`);
50
50
  // text + mention element
51
- await session.send(await image);
51
+ await session.sendImgBuffer(await image);
52
52
  await session.sendAudioByUrl(bsmap.versions[0].previewURL);
53
53
  }
54
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"beatsaver.js","sourceRoot":"","sources":["../../src/ws/beatsaver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beatsaver.js","sourceRoot":"","sources":["../../src/ws/beatsaver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "beatsaber-bot-core",
3
3
  "description": "一个用于新版 Steam 家庭的库存监控 Bot 插件",
4
- "version": "0.2.0-dev.12",
4
+ "version": "0.2.0-dev.14",
5
5
  "types": "lib/index.d.ts",
6
6
  "files": [
7
7
  "lib"
@@ -52,12 +52,14 @@
52
52
  "access": "public"
53
53
  },
54
54
  "dependencies": {
55
+ "@aws-sdk/client-s3": "^3.658.1",
55
56
  "@loskir/styled-qr-code-node": "^1.5.1",
56
57
  "chart.js": "^4.4.3",
57
58
  "country-flag-icons": "^1.5.11",
58
59
  "dayjs": "^1.11.3",
59
60
  "lru-cache": "^11.0.1",
60
61
  "lucide-react": "^0.379.0",
62
+ "puppeteer-core": "^23.4.1",
61
63
  "react": "^18.3.1",
62
64
  "react-dom": "^18.3.1"
63
65
  },