logo

✨ nonebot-plugin-osumania-toolkit ✨

osu!mania 高级分析功能和实用工具

license pypi CodeFactor python

项目地址

LeoBlackMT/nonebot-plugin-osumania-toolkit

功能特性

  1. 谱面分析与难度估计 (/rework) - 通过分析谱面结构和特征,提供键型分析和难度估计功能,支持多种参数和模组(基于项目ManiaMapAnalyser中的Mixed难度估计算法)
  2. 作弊分析 (/analyze) - 基于回放和谱面的多维度高级分析,检测可能的作弊行为
  3. 单曲ACC计算 (/acc) - 计算osu!mania段位的单曲ACC,支持交互计算、自定义物量和单曲个数、根据bid或提供文件自动划分单曲等功能
  4. 投皮修改 (/percy) - 对 LN 皮肤图修改投机取巧程度,支持 Stable/Lazer 两种模式
  5. 键型分析 (/pattern) - 分析谱面键型,支持RC/LN/多k键型分析
  6. Etterna难度计算 (/ett) - 将谱面按 Etterna 方式计算难度,提供更符合 Etterna 玩家习惯的难度评估(基于Etterna官方算法)。
  7. 成绩转换 (/cvtscore) - 将成绩转换为其他游戏的成绩,支持多种游戏的多个判定,支持自定义规则,支持模板规则。
  8. 文件格式支持 - 支持.osr、.mr、.osu、.mc多种文件格式,允许图包分析(.osz/.mcz),并支持通过bid或mania谱面网址指定谱面进行分析
  9. 丰富的配置选项 - 可配置键型分析和作弊分析的丰富参数,满足不同需求
  10. 支持模板规则集 - 可自定义规则模板,方便快速使用预设的规则集进行成绩转换等操作。

安装方法

使用 nb-cli 安装在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装
nb plugin install nonebot-plugin-osumania-toolkit
使用包管理器安装在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令
pip
pip install nonebot-plugin-osumania-toolkit
pdm
pdm add nonebot-plugin-osumania-toolkit
poetry
poetry add nonebot-plugin-osumania-toolkit

打开 nonebot2 项目根目录下的 pyproject.toml 文件, 在 [tool.nonebot] 部分追加写入

plugins = ["nonebot_plugin_osumania_toolkit"]

使用提示

  1. 对 bot 发送 /omtk 获取帮助信息
  2. 如果插件运行在 Unix 系统上,安装或每次更新都需要对 algorithm/ett/official_minaclac_runner 授予执行权限(chmod +x official_minaclac_runner),以确保/ett功能正常使用。
  3. 如果需要为/cvtscore添加其他规则集,请参考规则集示例规则集模板示例
  4. 如果未来Etterna官方算法有更新而本插件尚未更新,或你想使用自定义的算法版本时,可以参考构建指南自行构建并替换algorithm/ett/official_minacalc_runner
  5. 关于估计算法的准确度和表现,你可以前往ManiaMapAnalyser Benchmark查看基于真实谱面数据的评测结果。
  6. 如果你有任何问题或建议,欢迎提交issue或pr。

配置说明

配置项是否必填类型默认值说明
omtk_cache_max_ageint24缓存文件最大保留时间(小时)
default_convert_odint8.mc转.osu的默认OverallDifficulty值
default_convert_hpint8.mc转.osu的默认HPDrainRate值
max_file_size_mbint50允许处理的最大文件大小(MB),设置为0时无限制
batch_max_chartsint15图包批量分析单次最多处理谱面数,设置为0时无限制

注: 其他内容的相关配置项过多,这里只列出基础配置部分。如有修改需要请查看配置文件中的注释。

参考内容

  • Suuny Rework: 使用了Suuny Rework的算法进行难度估计。
  • Interlude: 使用了Interlude的RC键型分析算法并在基础上新增LN检测算法。
  • Daniel: 使用了Daniel的算法进行难度估计。
  • Companella: 使用了Companella的算法进行难度估计。
  • Etterna: 使用了Etterna官方的算法进行难度计算,并提供了构建指南以便用户自行构建和替换。

特别鸣谢

  • 感谢 wds0 对本项目的资助和支持!
  • 感谢ElainaFanBoy对文件管理的优化!