nonebot-plugin-osubot 6.19.0__tar.gz → 6.20.1__tar.gz
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.
Potentially problematic release.
This version of nonebot-plugin-osubot might be problematic. Click here for more details.
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/PKG-INFO +1 -1
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/api.py +86 -39
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/catch/PalpableCatchHitObject.js +21 -2
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/catch/bananashower.js +1 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/catch/catch.js +62 -11
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/catch/juicestream.js +6 -1
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/curve/curve.js +21 -1
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/slider.js +2 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/utils.py +6 -4
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/bp.py +8 -8
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/pyproject.toml +1 -1
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/README.md +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/beatmap_stats_moder.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/config.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/database/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/database/models.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/bmap.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/bp.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/css/style.css +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/beatmap/beatmap.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/beatmap/hitobject.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/beatmap/point.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/beatmap/scroll.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/beatmap/timingpoint.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/catch/LegacyRandom.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/catch/fruit.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/fakeaudio.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/preview.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/curve/bezier2.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/curve/catmullcurve.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/curve/centripetalcatmullrom.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/curve/circumstancedcircle.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/curve/curvetype.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/curve/equaldistancemulticurve.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/curve/linearbezier.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/hitcircle.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/spinner.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/util.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/viewbox.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/js/zip.min.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/catch_preview_templates/pic.html +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/echarts.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/info.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/map.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/match_history.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/rating.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/score.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/static.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/taiko_preview.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/templates/bpa_chart.html +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/templates/echarts.min.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/templates/mod_chart.html +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/templates/pp_rank_line_chart.html +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/exceptions.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/file.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/info/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/info/bg.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/info/bind.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/mania/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/bind.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/bp_analyze.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/getbg.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/guess.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/history.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/info.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/map.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/map_convert.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/match.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/medal.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/mu.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/osu_help.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/osudl.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/pr.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/preview.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/rank.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/rating.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/recommend.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/score.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/update.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/update_mode.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/url_match.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/utils.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/mods.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/network/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/network/auto_retry.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/network/first_response.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/Best Performance.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/History Score.jpg +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/beatmapinfo.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/convert.jpg +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/detail.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AQ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AX.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/AZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BB.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BJ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BQ (1).png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BQ (2).png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BV.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/BZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CV.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CX.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/CZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/DE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/DJ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/DK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/DM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/DO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/DZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/EC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/EE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/EG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/EH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/ER.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/ES.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/ET.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/FI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/FJ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/FK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/FO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/FR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GB.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GP.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GQ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/GY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/HK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/HM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/HN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/HR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/HT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/HU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/ID.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/IE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/IL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/IM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/IN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/IO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/IQ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/IR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/IS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/IT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/JE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/JM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/JO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/JP.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/KE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/KG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/KH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/KI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/KM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/KN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/KP.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/KR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/KW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/KY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/KZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/LA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/LB.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/LC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/LI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/LK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/LR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/LS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/LT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/LU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/LV.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/LY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/ME.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/ML.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MP.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MQ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MV.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MX.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/MZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/NA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/NC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/NE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/NF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/NG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/NI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/NL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/NO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/NP.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/NR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/NU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/NZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/OM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/PY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/QA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/RE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/RO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/RS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/RU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/RW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SB.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SJ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/ST.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SV.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/SZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TJ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TV.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/TZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/UA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/UG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/UM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/US.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/UY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/UZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/VA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/VC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/VE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/VG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/VI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/VN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/VU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/WF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/WS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/YE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/YT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/ZA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/ZM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/flags/ZW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/fonts/Extra.otf +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/fonts/Torus Regular.otf +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/fonts/Torus SemiBold.otf +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/fonts/Venera.otf +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/help.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/info.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/maniabeatmapinfo.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/match/mplink.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/match/mplink_map.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/match/team_blue.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/match/team_red.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/medals/medals.json +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/4K.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/5K.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/6K.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/7K.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/8K.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/9K.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/AP.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/CL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/DT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/EZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/FI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/FL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/HD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/HR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/HT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/MR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/NC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/NF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/PF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/RX.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/SD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/SO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/TD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/mods/V2.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/pfm_ctb.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/pfm_mania.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/pfm_std.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/pfm_taiko.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/ranking/ranking-A.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/ranking/ranking-B.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/ranking/ranking-C.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/ranking/ranking-D.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/ranking/ranking-F.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/ranking/ranking-S.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/ranking/ranking-SH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/ranking/ranking-X.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/ranking/ranking-XH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/work/bmap.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/work/center.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/work/left.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/work/right.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/work/stars.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/work/stars_expertplus.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/osufile/work/suppoter.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/pp.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/schema/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/schema/alphaosu.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/schema/basemodel.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/schema/beatmap.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/schema/match.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/schema/ppysb/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/schema/sayo_beatmap.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/schema/score.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/schema/user.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/utils/__init__.py +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import asyncio
|
|
1
2
|
import random
|
|
2
3
|
from io import BytesIO
|
|
3
4
|
from urllib.parse import urlencode
|
|
@@ -73,6 +74,58 @@ async def get_headers() -> dict[str, str]:
|
|
|
73
74
|
return {"Authorization": f"Bearer {token}", "x-api-version": "20220705"}
|
|
74
75
|
|
|
75
76
|
|
|
77
|
+
async def fetch_score_batch(
|
|
78
|
+
uid: Union[int, str],
|
|
79
|
+
mode: str,
|
|
80
|
+
scope: str,
|
|
81
|
+
batch_size: int,
|
|
82
|
+
offset: int,
|
|
83
|
+
legacy_only: bool,
|
|
84
|
+
include_failed: bool,
|
|
85
|
+
) -> list[UnifiedScore]:
|
|
86
|
+
"""并发获取单次批次数据"""
|
|
87
|
+
url = (
|
|
88
|
+
f"{api}/users/{uid}/scores/{scope}?mode={mode}&limit={batch_size}"
|
|
89
|
+
f"&offset={offset}&legacy_only={int(legacy_only)}"
|
|
90
|
+
f"&include_fails={int(include_failed)}"
|
|
91
|
+
)
|
|
92
|
+
data = await make_request(url, await get_headers(), "未找到该玩家BP")
|
|
93
|
+
if not data:
|
|
94
|
+
return []
|
|
95
|
+
scores = [NewScore(**i) for i in data]
|
|
96
|
+
return [
|
|
97
|
+
UnifiedScore(
|
|
98
|
+
mods=i.mods,
|
|
99
|
+
ruleset_id=i.ruleset_id,
|
|
100
|
+
rank=i.rank,
|
|
101
|
+
accuracy=i.accuracy * 100,
|
|
102
|
+
total_score=i.total_score,
|
|
103
|
+
ended_at=datetime.strptime(i.ended_at.replace("Z", ""), "%Y-%m-%dT%H:%M:%S") + timedelta(hours=8),
|
|
104
|
+
max_combo=i.max_combo,
|
|
105
|
+
statistics=i.statistics,
|
|
106
|
+
legacy_total_score=i.legacy_total_score,
|
|
107
|
+
passed=i.passed,
|
|
108
|
+
beatmap=UnifiedBeatmap(
|
|
109
|
+
id=i.beatmap_id,
|
|
110
|
+
set_id=i.beatmapset.id,
|
|
111
|
+
artist=i.beatmapset.artist,
|
|
112
|
+
title=i.beatmapset.title,
|
|
113
|
+
version=i.beatmap.version,
|
|
114
|
+
creator=i.beatmapset.creator,
|
|
115
|
+
total_length=i.beatmap.total_length,
|
|
116
|
+
mode=i.beatmap.mode_int,
|
|
117
|
+
bpm=i.beatmap.bpm,
|
|
118
|
+
cs=i.beatmap.cs,
|
|
119
|
+
ar=i.beatmap.ar,
|
|
120
|
+
hp=i.beatmap.drain,
|
|
121
|
+
od=i.beatmap.accuracy,
|
|
122
|
+
stars=i.beatmap.difficulty_rating,
|
|
123
|
+
),
|
|
124
|
+
)
|
|
125
|
+
for i in scores
|
|
126
|
+
]
|
|
127
|
+
|
|
128
|
+
|
|
76
129
|
async def get_user_scores(
|
|
77
130
|
uid: Union[int, str],
|
|
78
131
|
mode: str,
|
|
@@ -81,49 +134,43 @@ async def get_user_scores(
|
|
|
81
134
|
legacy_only: bool = 0,
|
|
82
135
|
include_failed: bool = True,
|
|
83
136
|
offset: int = 0,
|
|
84
|
-
limit: int =
|
|
137
|
+
limit: int = 200,
|
|
85
138
|
) -> list[UnifiedScore]:
|
|
86
139
|
if source == "osu":
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
od=i.beatmap.accuracy,
|
|
119
|
-
stars=i.beatmap.difficulty_rating,
|
|
120
|
-
),
|
|
121
|
-
)
|
|
122
|
-
for i in scores
|
|
123
|
-
]
|
|
124
|
-
return unified_scores
|
|
140
|
+
if limit <= 0:
|
|
141
|
+
return []
|
|
142
|
+
|
|
143
|
+
# 计算需要多少次请求
|
|
144
|
+
# 计算需要多少批次
|
|
145
|
+
batch_size = 100
|
|
146
|
+
total_batches = (limit + batch_size - 1) // batch_size # ceiling(limit/batch_size)
|
|
147
|
+
all_scores = []
|
|
148
|
+
# 分批并发请求
|
|
149
|
+
for batch_idx in range(0, total_batches, 2):
|
|
150
|
+
current_batches = range(batch_idx, min(batch_idx + 2, total_batches))
|
|
151
|
+
|
|
152
|
+
# 生成 tasks(并发执行)
|
|
153
|
+
tasks = []
|
|
154
|
+
for batch_n in current_batches:
|
|
155
|
+
offset = batch_n * batch_size
|
|
156
|
+
actual_batch_size = min(batch_size, limit - len(all_scores) - offset)
|
|
157
|
+
|
|
158
|
+
if actual_batch_size <= 0:
|
|
159
|
+
continue # 已获取足够数据
|
|
160
|
+
|
|
161
|
+
task = fetch_score_batch(uid, mode, scope, actual_batch_size, offset, legacy_only, include_failed)
|
|
162
|
+
tasks.append(task)
|
|
163
|
+
# 并发请求当前批次
|
|
164
|
+
batch_results = await asyncio.gather(*tasks)
|
|
165
|
+
|
|
166
|
+
for batch_scores in batch_results:
|
|
167
|
+
all_scores.extend(batch_scores)
|
|
168
|
+
if len(all_scores) >= limit:
|
|
169
|
+
return all_scores[:limit] # 提前终止
|
|
170
|
+
return all_scores[:limit]
|
|
125
171
|
|
|
126
172
|
elif source == "ppysb":
|
|
173
|
+
limit = min(limit, 100)
|
|
127
174
|
url = f"https://api.ppy.sb/v1/get_player_scores?scope={scope}&id={uid}&mode={FGM[mode]}&limit={limit}&include_failed={int(include_failed)}"
|
|
128
175
|
data = await make_request(url, {}, "未找到该玩家BP")
|
|
129
176
|
data = ScoresResponse(**data)
|
|
@@ -6,8 +6,24 @@ function PalpableCatchHitObject(data, beatmap) {
|
|
|
6
6
|
this.color = data.color;
|
|
7
7
|
this.radius = data.radius;
|
|
8
8
|
this.hyperDash = false;
|
|
9
|
+
this.edge = false;
|
|
9
10
|
this.XDistToNext = [1, 1, 1];
|
|
11
|
+
this.hitSound = data.hitSound || "0";
|
|
10
12
|
}
|
|
13
|
+
|
|
14
|
+
PalpableCatchHitObject.prototype.getHitsoundLabel = function (){
|
|
15
|
+
let hsLabels = [];
|
|
16
|
+
if (this.hitSound == null || this.hitSound == undefined || !this.hitSound) // hs = null | undifined | "" | "0"
|
|
17
|
+
return null;
|
|
18
|
+
else {
|
|
19
|
+
if (this.hitSound & 2) hsLabels.push("W");
|
|
20
|
+
if (this.hitSound & 8) hsLabels.push("C");
|
|
21
|
+
if (this.hitSound & 4) hsLabels.push("F");
|
|
22
|
+
if (hsLabels.length === 0) return null;
|
|
23
|
+
return hsLabels.join("|");
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
11
27
|
PalpableCatchHitObject.prototype.draw = function (time, ctx) {
|
|
12
28
|
var dt = this.time - time;
|
|
13
29
|
if (dt >= -this.beatmap.FALLOUT_TIME) {
|
|
@@ -24,7 +40,10 @@ PalpableCatchHitObject.prototype.draw2 = function (obj, SCALE, ctx, BORDER_WIDTH
|
|
|
24
40
|
if (this.hyperDash) this.drawDashCircle2({ x: obj.x + BORDER_WIDTH, y: obj.y + BORDER_HEIGHT }, SCALE, ctx);
|
|
25
41
|
this.drawCircle2({ x: obj.x + BORDER_WIDTH, y: obj.y + BORDER_HEIGHT }, SCALE, ctx);
|
|
26
42
|
}
|
|
27
|
-
if (combo)
|
|
43
|
+
if (combo) {
|
|
44
|
+
if (typeof(combo) === "number") this.drawCombo2({ x: obj.x + BORDER_WIDTH, y: obj.y + BORDER_HEIGHT }, SCALE, "x" + combo, ctx);
|
|
45
|
+
else this.drawCombo2({ x: obj.x + BORDER_WIDTH, y: obj.y + BORDER_HEIGHT }, SCALE, combo, ctx);
|
|
46
|
+
}
|
|
28
47
|
}
|
|
29
48
|
PalpableCatchHitObject.prototype.predraw2 = function (SCREENSHEIGHT, COLMARGIN, SCALE, offset) {
|
|
30
49
|
// 去除offset
|
|
@@ -83,7 +102,7 @@ PalpableCatchHitObject.prototype.drawCombo2 = function (position, SCALE, combo,
|
|
|
83
102
|
ctx.font = "normal 16px 'Segoe UI'";
|
|
84
103
|
ctx.textBaseline = "middle";
|
|
85
104
|
ctx.textAlign = "start";
|
|
86
|
-
ctx.fillText(
|
|
105
|
+
ctx.fillText(combo, position.x + this.radius * SCALE * 2, position.y);
|
|
87
106
|
ctx.restore();
|
|
88
107
|
};
|
|
89
108
|
PalpableCatchHitObject.prototype.drawBanana = function (position, ctx) {
|
|
@@ -150,6 +150,7 @@ function Catch(osu, mods) {
|
|
|
150
150
|
x: hitObject.position.x,
|
|
151
151
|
color: hitObject.color,
|
|
152
152
|
radius: this.circleRadius,
|
|
153
|
+
hitSound: hitObject.hitSound,
|
|
153
154
|
}, this);
|
|
154
155
|
|
|
155
156
|
this.palpableObjects.push(pch);
|
|
@@ -289,6 +290,8 @@ function Catch(osu, mods) {
|
|
|
289
290
|
else {
|
|
290
291
|
lastExcess = Math.clamp(distanceToHyper, 0, this.halfCatcherWidth);
|
|
291
292
|
//this.whiteDashes.push({ score: distanceToHyper, time: currentObject.time });
|
|
293
|
+
// 标注再加20像素就变红果的白果跳
|
|
294
|
+
if (distanceToNext > 2 * this.halfCatcherWidth && distanceToHyper < 20) currentObject.edge = true;
|
|
292
295
|
}
|
|
293
296
|
|
|
294
297
|
lastDirection = thisDirection;
|
|
@@ -357,7 +360,7 @@ Catch.prototype.draw = function (time, ctx) {
|
|
|
357
360
|
/**
|
|
358
361
|
* @param {number} SCALE 缩放大小(0.2=缩放为1/5)
|
|
359
362
|
* @param {number} SPEED 播放速度 DT=1.5 HT=0.75 在ctb不影响谱面,只影响时间和BPM标注
|
|
360
|
-
* @param {{
|
|
363
|
+
* @param {{showLabelType: number, distanceStart: number, distanceEnd: number, distanceType: number}} params 其他参数
|
|
361
364
|
*/
|
|
362
365
|
Catch.prototype.draw2 = function (SCALE, SPEED = 1, params = {}) {
|
|
363
366
|
// 初定每一列20个屏幕大小,不够换列
|
|
@@ -405,7 +408,7 @@ Catch.prototype.draw2 = function (SCALE, SPEED = 1, params = {}) {
|
|
|
405
408
|
if (this.TimingPoints[i].kiai) lastKiaiStart = this.TimingPoints[i].time - offset;
|
|
406
409
|
}
|
|
407
410
|
// 绿线在ctb无关紧要,正常模式不用加,标注距离时只加变化的
|
|
408
|
-
if (params.
|
|
411
|
+
if (params.showLabelType === 1) {
|
|
409
412
|
if (this.TimingPoints[i].parent) {
|
|
410
413
|
if (Math.abs(this.TimingPoints[i].sliderVelocity - lastSV) < 0.001) {
|
|
411
414
|
lastSV = this.TimingPoints[i].sliderVelocity;
|
|
@@ -679,16 +682,59 @@ Catch.prototype.draw2 = function (SCALE, SPEED = 1, params = {}) {
|
|
|
679
682
|
combo += 1;
|
|
680
683
|
}
|
|
681
684
|
// 借用combo位显示距离,省事!
|
|
682
|
-
if (params.
|
|
685
|
+
if (params.showLabelType === 1) {
|
|
683
686
|
if (objs[i].type === "Fruit" || objs[i].type === "Droplet") {
|
|
684
687
|
let distanceType = params.distanceType;
|
|
685
688
|
if (this.fullCatchObjects[i].XDistToNext[distanceType] >= params.distanceStart && this.fullCatchObjects[i].XDistToNext[distanceType] <= params.distanceEnd)
|
|
686
689
|
showCombo = this.fullCatchObjects[i].XDistToNext[distanceType];
|
|
687
690
|
}
|
|
688
691
|
}
|
|
692
|
+
// 借用combo位显示音效,省事!
|
|
693
|
+
else if (params.showLabelType === 2) {
|
|
694
|
+
if (objs[i].type === "Fruit" || objs[i].type === "Banana") {
|
|
695
|
+
showCombo = this.fullCatchObjects[i].getHitsoundLabel();
|
|
696
|
+
}
|
|
697
|
+
}
|
|
689
698
|
|
|
690
|
-
else if (combo > lastCombo && combo > 0 && combo % comboSplit === 0) showCombo = combo;
|
|
699
|
+
else if (combo > lastCombo && combo > 0 && (combo % comboSplit === 0 || this.fullCatchObjects[i].edge)) showCombo = combo;
|
|
691
700
|
this.fullCatchObjects[i].draw2(objs[i], SCALE, ctx2, BORDER_WIDTH, BORDER_HEIGHT, showCombo);
|
|
701
|
+
|
|
702
|
+
// 标注edge
|
|
703
|
+
if (this.fullCatchObjects[i].edge && i < this.fullCatchObjects.length - 1) {
|
|
704
|
+
ctx2.save();
|
|
705
|
+
ctx2.beginPath();
|
|
706
|
+
let _x1 = objs[i].x + BORDER_WIDTH;
|
|
707
|
+
let _y1 = objs[i].y + BORDER_HEIGHT;
|
|
708
|
+
let _x2 = objs[i+1].x + BORDER_WIDTH;
|
|
709
|
+
let _y2 = objs[i+1].y + BORDER_HEIGHT;
|
|
710
|
+
if (_y1 > _y2) {
|
|
711
|
+
ctx2.moveTo(_x1, _y1);
|
|
712
|
+
ctx2.lineTo(_x2, _y2);
|
|
713
|
+
}
|
|
714
|
+
// 不在同一轨道上
|
|
715
|
+
else if (_y1 < _y2) {
|
|
716
|
+
let line_end_x2 = _x2 - Beatmap.WIDTH * SCALE - 2 * COLMARGIN;
|
|
717
|
+
let line_end_y2 = _y2 + 2 * BORDER_HEIGHT - height;
|
|
718
|
+
let line_middle_y2 = BORDER_HEIGHT;
|
|
719
|
+
let line_middle_x2 = (line_end_x2 - _x1) * (line_end_y2 - line_middle_y2) / (_y1 - line_end_y2) + line_end_x2;
|
|
720
|
+
if (line_middle_x2) {
|
|
721
|
+
ctx2.moveTo(_x1, _y1);
|
|
722
|
+
ctx2.lineTo(line_middle_x2, line_middle_y2);
|
|
723
|
+
}
|
|
724
|
+
let line_start_x1 = _x1 + Beatmap.WIDTH * SCALE + 2 * COLMARGIN;
|
|
725
|
+
let line_start_y1 = _y1 + height - 2 * BORDER_HEIGHT;
|
|
726
|
+
let line_middle_y1 = height - BORDER_HEIGHT;
|
|
727
|
+
let line_middle_x1 = (_x2 - line_start_x1) * (_y2 - line_middle_y1) / (line_start_y1 - _y2) + _x2;
|
|
728
|
+
if (line_middle_x1) {
|
|
729
|
+
ctx2.moveTo(line_middle_x1, line_middle_y1);
|
|
730
|
+
ctx2.lineTo(_x2, _y2);
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
ctx2.strokeStyle = '#fff';
|
|
734
|
+
ctx2.lineWidth = 3;
|
|
735
|
+
ctx2.stroke();
|
|
736
|
+
}
|
|
737
|
+
|
|
692
738
|
lastCombo = combo;
|
|
693
739
|
}
|
|
694
740
|
|
|
@@ -698,18 +744,23 @@ Catch.prototype.draw2 = function (SCALE, SPEED = 1, params = {}) {
|
|
|
698
744
|
extraBarTimes.map((_barTime) => {
|
|
699
745
|
let _objs = objs.filter((obj) => Math.abs(obj.time - _barTime * 1000) < EDGE_OFFSET);
|
|
700
746
|
_objs.map((_obj) => {
|
|
701
|
-
let
|
|
702
|
-
|
|
703
|
-
|
|
747
|
+
let label = null;
|
|
748
|
+
if (params.showLabelType === 1) {
|
|
749
|
+
let distanceType = params.distanceType;
|
|
750
|
+
label = this.fullCatchObjects[_obj.index].XDistToNext[distanceType];
|
|
751
|
+
if (label < params.distanceStart || label > params.distanceEnd) label = null;
|
|
752
|
+
}
|
|
753
|
+
else if (params.showLabelType === 2) {
|
|
754
|
+
label = this.fullCatchObjects[_obj.index].getHitsoundLabel();
|
|
755
|
+
}
|
|
756
|
+
|
|
704
757
|
if (_obj.y > SCREENSHEIGHT * SCALE - 5) {
|
|
705
758
|
// note靠近下边缘,在上一列的上边缘再画一个
|
|
706
|
-
|
|
707
|
-
else this.fullCatchObjects[_obj.index].draw2({ time: _obj.time, type: _obj.type, x: _obj.x - (Beatmap.WIDTH * SCALE + 2 * COLMARGIN), y: 0, col: _obj.col - 1 }, SCALE, ctx2, BORDER_WIDTH, BORDER_HEIGHT);
|
|
759
|
+
this.fullCatchObjects[_obj.index].draw2({ time: _obj.time, type: _obj.type, x: _obj.x - (Beatmap.WIDTH * SCALE + 2 * COLMARGIN), y: 0, col: _obj.col - 1 }, SCALE, ctx2, BORDER_WIDTH, BORDER_HEIGHT, label);
|
|
708
760
|
}
|
|
709
761
|
else if (_obj.y < 5) {
|
|
710
762
|
// note靠近上边缘,在下一列的下边缘再画一个
|
|
711
|
-
|
|
712
|
-
else this.fullCatchObjects[_obj.index].draw2({ time: _obj.time, type: _obj.type, x: _obj.x + (Beatmap.WIDTH * SCALE + 2 * COLMARGIN), y: SCREENSHEIGHT * SCALE, col: _obj.col + 1 }, SCALE, ctx2, BORDER_WIDTH, BORDER_HEIGHT);
|
|
763
|
+
this.fullCatchObjects[_obj.index].draw2({ time: _obj.time, type: _obj.type, x: _obj.x + (Beatmap.WIDTH * SCALE + 2 * COLMARGIN), y: SCREENSHEIGHT * SCALE, col: _obj.col + 1 }, SCALE, ctx2, BORDER_WIDTH, BORDER_HEIGHT, label);
|
|
713
764
|
}
|
|
714
765
|
});
|
|
715
766
|
});
|
|
@@ -6,12 +6,14 @@ function JuiceStream(data, beatmap)
|
|
|
6
6
|
this.sliderType = this.points[0];
|
|
7
7
|
this.points[0] = this.position;
|
|
8
8
|
for (var i = 1; i < this.points.length; i++)
|
|
9
|
-
{
|
|
9
|
+
{
|
|
10
10
|
this.points[i] = new Point(this.points[i].split(':'));
|
|
11
11
|
}
|
|
12
12
|
this.repeat = data[6] | 0;
|
|
13
13
|
this.pixelLength = +data[7];
|
|
14
14
|
|
|
15
|
+
this.hitSounds = this.hitSoundString.split('|');
|
|
16
|
+
|
|
15
17
|
this.timingPoint = this.beatmap.timingPointAt(this.time);
|
|
16
18
|
this.beatLength = this.timingPoint.beatLength;
|
|
17
19
|
this.timingPointStart = this.timingPoint.time;
|
|
@@ -99,6 +101,7 @@ JuiceStream.prototype.generateTicks = function(spanIndex, spanStartTime, spanDur
|
|
|
99
101
|
JuiceStream.prototype.buildNested = function() {
|
|
100
102
|
this.nested = [];
|
|
101
103
|
|
|
104
|
+
let nestedIndex = 0;
|
|
102
105
|
let lastEvent = null;
|
|
103
106
|
for(let i = 0; i < this.events.length; i++) {
|
|
104
107
|
// generate tiny droplets since the last point
|
|
@@ -151,7 +154,9 @@ JuiceStream.prototype.buildNested = function() {
|
|
|
151
154
|
x: this.curve.pointAt(this.events[i].pathProgress).x,
|
|
152
155
|
color: this.color,
|
|
153
156
|
radius: this.beatmap.circleRadius,
|
|
157
|
+
hitSound: this.hitSounds[nestedIndex] || "0",
|
|
154
158
|
}, this.beatmap));
|
|
159
|
+
nestedIndex++;
|
|
155
160
|
break;
|
|
156
161
|
}
|
|
157
162
|
}
|
|
@@ -21,5 +21,25 @@ Curve.parse = function(sliderType, points, pixelLength)
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
catch(e) {}
|
|
24
|
-
|
|
24
|
+
try
|
|
25
|
+
{
|
|
26
|
+
return new LinearBezier(points, pixelLength, sliderType == 'L');
|
|
27
|
+
}
|
|
28
|
+
catch(e)
|
|
29
|
+
{
|
|
30
|
+
return new SingleNoteCurve(points[0]);
|
|
31
|
+
}
|
|
25
32
|
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
function SingleNoteCurve(point)
|
|
37
|
+
{
|
|
38
|
+
this.path = [point];
|
|
39
|
+
};
|
|
40
|
+
SingleNoteCurve.prototype = Object.create(Curve.prototype);
|
|
41
|
+
SingleNoteCurve.prototype.constructor = SingleNoteCurve;
|
|
42
|
+
SingleNoteCurve.prototype.pointAt = function(t)
|
|
43
|
+
{
|
|
44
|
+
return this.path[0];
|
|
45
|
+
};
|
|
@@ -12,6 +12,8 @@ function Slider(data, beatmap)
|
|
|
12
12
|
this.repeat = data[6] | 0;
|
|
13
13
|
this.pixelLength = +data[7];
|
|
14
14
|
|
|
15
|
+
this.hitSoundString = data[8] || "";
|
|
16
|
+
|
|
15
17
|
var sliderTime = this.beatmap.timingPointAt(this.time).beatLength * (
|
|
16
18
|
this.pixelLength / this.beatmap.SliderMultiplier
|
|
17
19
|
) / 100;
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/utils.py
RENAMED
|
@@ -414,13 +414,15 @@ def filter_scores_with_regex(scores_with_index, conditions):
|
|
|
414
414
|
|
|
415
415
|
def trim_text_with_ellipsis(text, max_width, font):
|
|
416
416
|
# 初始检查:空字符串或无需处理
|
|
417
|
-
|
|
417
|
+
bbox = font.getbbox(text)
|
|
418
|
+
text_width = bbox[2] - bbox[0]
|
|
419
|
+
if not text or text_width <= max_width:
|
|
418
420
|
return text
|
|
419
421
|
# 逐字符检查
|
|
420
422
|
ellipsis_symbol = "…"
|
|
421
|
-
ellipsis_width = font.getbbox("…")
|
|
423
|
+
ellipsis_width = font.getbbox("…")[2] - font.getbbox("…")[0]
|
|
422
424
|
# 确保最大宽度能至少容纳一个字符+省略号
|
|
423
|
-
if max_width < font.getbbox("A") + ellipsis_width:
|
|
425
|
+
if max_width < font.getbbox("A")[2] - font.getbbox("A")[0] + ellipsis_width:
|
|
424
426
|
return ellipsis_symbol
|
|
425
427
|
|
|
426
428
|
truncated_text = ""
|
|
@@ -428,7 +430,7 @@ def trim_text_with_ellipsis(text, max_width, font):
|
|
|
428
430
|
|
|
429
431
|
for char in text:
|
|
430
432
|
# 检查当前字符宽度 + 省略号宽度是否超标
|
|
431
|
-
char_width = font.getbbox(char)
|
|
433
|
+
char_width = font.getbbox(char)[2] - font.getbbox(char)[0]
|
|
432
434
|
if current_width + char_width + ellipsis_width > max_width:
|
|
433
435
|
break
|
|
434
436
|
truncated_text += char
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/bp.py
RENAMED
|
@@ -25,8 +25,8 @@ async def _bp(state: T_State):
|
|
|
25
25
|
if not best.isdigit():
|
|
26
26
|
await UniMessage.text("只能接受纯数字的bp参数").finish(reply_to=True)
|
|
27
27
|
best = int(best)
|
|
28
|
-
if best <= 0 or best >
|
|
29
|
-
await UniMessage.text("只允许查询bp 1-
|
|
28
|
+
if best <= 0 or best > 200:
|
|
29
|
+
await UniMessage.text("只允许查询bp 1-200 的成绩").finish(reply_to=True)
|
|
30
30
|
try:
|
|
31
31
|
data = await draw_score(
|
|
32
32
|
"bp",
|
|
@@ -52,11 +52,11 @@ async def _pfm(state: T_State):
|
|
|
52
52
|
if "error" in state:
|
|
53
53
|
await UniMessage.text(state["error"]).finish(reply_to=True)
|
|
54
54
|
if not state["range"]:
|
|
55
|
-
state["range"] = "1-
|
|
55
|
+
state["range"] = "1-200"
|
|
56
56
|
ls = state["range"].split("-")
|
|
57
57
|
low, high = int(ls[0]), int(ls[1])
|
|
58
|
-
if not 0 < low < high <=
|
|
59
|
-
await UniMessage.text("仅支持查询bp1-
|
|
58
|
+
if not 0 < low < high <= 200:
|
|
59
|
+
await UniMessage.text("仅支持查询bp1-200").finish(reply_to=True)
|
|
60
60
|
try:
|
|
61
61
|
data = await draw_bp(
|
|
62
62
|
"bp",
|
|
@@ -84,11 +84,11 @@ async def _tbp(state: T_State):
|
|
|
84
84
|
if "error" in state:
|
|
85
85
|
await UniMessage.text(state["error"]).finish(reply_to=True)
|
|
86
86
|
if not state["range"]:
|
|
87
|
-
state["range"] = "1-
|
|
87
|
+
state["range"] = "1-200"
|
|
88
88
|
ls = state["range"].split("-")
|
|
89
89
|
low, high = int(ls[0]), int(ls[1])
|
|
90
|
-
if not 0 < low < high <=
|
|
91
|
-
await UniMessage.text("仅支持查询bp1-
|
|
90
|
+
if not 0 < low < high <= 200:
|
|
91
|
+
await UniMessage.text("仅支持查询bp1-200").finish(reply_to=True)
|
|
92
92
|
try:
|
|
93
93
|
data = await draw_bp(
|
|
94
94
|
"tbp",
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/__init__.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/bmap.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/bp.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/echarts.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/info.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/map.py
RENAMED
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/rating.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/score.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/draw/static.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/info/__init__.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/info/bg.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/info/bind.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/bind.py
RENAMED
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/getbg.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.1}/nonebot_plugin_osubot/matcher/guess.py
RENAMED
|
File without changes
|