nonebot-plugin-osubot 6.19.0__tar.gz → 6.20.0__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.0}/PKG-INFO +1 -1
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/api.py +85 -39
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/utils.py +6 -4
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/bp.py +8 -8
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/pyproject.toml +1 -1
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/README.md +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/beatmap_stats_moder.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/config.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/database/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/database/models.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/bmap.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/bp.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/css/style.css +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/beatmap/beatmap.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/beatmap/hitobject.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/beatmap/point.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/beatmap/scroll.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/beatmap/timingpoint.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/catch/LegacyRandom.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/catch/PalpableCatchHitObject.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/catch/bananashower.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/catch/catch.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/catch/fruit.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/catch/juicestream.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/fakeaudio.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/preview.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/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.0}/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.0}/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.0}/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.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/curve/curve.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/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.0}/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.0}/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.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/hitcircle.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/slider.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/standard/spinner.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/util.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/viewbox.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/js/zip.min.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/catch_preview_templates/pic.html +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/echarts.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/info.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/map.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/match_history.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/rating.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/score.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/static.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/taiko_preview.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/templates/bpa_chart.html +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/templates/echarts.min.js +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/templates/mod_chart.html +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/templates/pp_rank_line_chart.html +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/exceptions.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/file.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/info/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/info/bg.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/info/bind.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/mania/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/bind.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/bp_analyze.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/getbg.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/guess.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/history.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/info.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/map.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/map_convert.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/match.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/medal.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/mu.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/osu_help.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/osudl.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/pr.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/preview.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/rank.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/rating.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/recommend.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/score.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/update.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/update_mode.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/url_match.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/utils.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/mods.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/network/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/network/auto_retry.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/network/first_response.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/Best Performance.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/History Score.jpg +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/beatmapinfo.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/convert.jpg +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/detail.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AQ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AX.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/AZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BB.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BJ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BQ (1).png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BQ (2).png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BV.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/BZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CV.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CX.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/CZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/DE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/DJ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/DK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/DM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/DO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/DZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/EC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/EE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/EG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/EH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/ER.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/ES.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/ET.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/FI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/FJ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/FK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/FO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/FR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GB.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GP.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GQ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/GY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/HK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/HM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/HN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/HR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/HT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/HU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/ID.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/IE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/IL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/IM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/IN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/IO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/IQ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/IR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/IS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/IT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/JE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/JM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/JO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/JP.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/KE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/KG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/KH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/KI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/KM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/KN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/KP.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/KR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/KW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/KY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/KZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/LA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/LB.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/LC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/LI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/LK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/LR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/LS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/LT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/LU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/LV.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/LY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/ME.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/ML.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MP.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MQ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MV.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MX.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/MZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/NA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/NC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/NE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/NF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/NG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/NI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/NL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/NO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/NP.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/NR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/NU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/NZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/OM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/PY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/QA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/RE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/RO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/RS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/RU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/RW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SB.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SJ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/ST.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SV.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/SZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TJ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TK.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TV.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/TZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/UA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/UG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/UM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/US.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/UY.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/UZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/VA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/VC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/VE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/VG.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/VI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/VN.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/VU.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/WF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/WS.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/YE.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/YT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/ZA.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/ZM.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/flags/ZW.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/fonts/Extra.otf +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/fonts/Torus Regular.otf +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/fonts/Torus SemiBold.otf +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/fonts/Venera.otf +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/help.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/info.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/maniabeatmapinfo.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/match/mplink.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/match/mplink_map.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/match/team_blue.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/match/team_red.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/medals/medals.json +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/4K.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/5K.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/6K.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/7K.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/8K.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/9K.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/AP.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/CL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/DT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/EZ.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/FI.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/FL.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/HD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/HR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/HT.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/MR.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/NC.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/NF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/PF.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/RX.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/SD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/SO.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/TD.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/mods/V2.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/pfm_ctb.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/pfm_mania.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/pfm_std.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/pfm_taiko.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/ranking/ranking-A.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/ranking/ranking-B.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/ranking/ranking-C.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/ranking/ranking-D.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/ranking/ranking-F.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/ranking/ranking-S.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/ranking/ranking-SH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/ranking/ranking-X.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/ranking/ranking-XH.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/work/bmap.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/work/center.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/work/left.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/work/right.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/work/stars.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/work/stars_expertplus.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/osufile/work/suppoter.png +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/pp.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/schema/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/schema/alphaosu.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/schema/basemodel.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/schema/beatmap.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/schema/match.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/schema/ppysb/__init__.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/schema/sayo_beatmap.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/schema/score.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/schema/user.py +0 -0
- {nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/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,47 +134,40 @@ 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":
|
|
127
173
|
url = f"https://api.ppy.sb/v1/get_player_scores?scope={scope}&id={uid}&mode={FGM[mode]}&limit={limit}&include_failed={int(include_failed)}"
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/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.0}/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.0}/nonebot_plugin_osubot/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/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.0}/nonebot_plugin_osubot/draw/__init__.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/bmap.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/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
|
|
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.0}/nonebot_plugin_osubot/draw/echarts.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/info.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/map.py
RENAMED
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/rating.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/draw/score.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/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.0}/nonebot_plugin_osubot/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/info/__init__.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/info/bg.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/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.0}/nonebot_plugin_osubot/matcher/bind.py
RENAMED
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/getbg.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/guess.py
RENAMED
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/info.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/map.py
RENAMED
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/match.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/medal.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/mu.py
RENAMED
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/osudl.py
RENAMED
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/pr.py
RENAMED
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/rank.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/score.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nonebot-plugin-osubot-6.19.0 → nonebot-plugin-osubot-6.20.0}/nonebot_plugin_osubot/matcher/utils.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
|
|
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
|
|
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
|