项目地址
LeoBlackMT/nonebot-plugin-osumania-toolkit
功能特性
- 谱面分析与难度估计 (/rework) - 通过分析谱面结构和特征,提供键型分析和难度估计功能,支持多种参数和模组(基于项目ManiaMapAnalyser中的Mixed难度估计算法)
- 作弊分析 (/analyze) - 基于回放和谱面的多维度高级分析,检测可能的作弊行为
- 单曲ACC计算 (/acc) - 计算osu!mania段位的单曲ACC,支持交互计算、自定义物量和单曲个数、根据bid或提供文件自动划分单曲等功能
- 投皮修改 (/percy) - 对 LN 皮肤图修改投机取巧程度,支持 Stable/Lazer 两种模式
- 键型分析 (/pattern) - 分析谱面键型,支持RC/LN/多k键型分析
- Etterna难度计算 (/ett) - 将谱面按 Etterna 方式计算难度,提供更符合 Etterna 玩家习惯的难度评估(基于Etterna官方算法)。
- 成绩转换 (/cvtscore) - 将成绩转换为其他游戏的成绩,支持多种游戏的多个判定,支持自定义规则,支持模板规则。
- 文件格式支持 - 支持.osr、.mr、.osu、.mc多种文件格式,允许图包分析(.osz/.mcz),并支持通过bid或mania谱面网址指定谱面进行分析
- 丰富的配置选项 - 可配置键型分析和作弊分析的丰富参数,满足不同需求
- 支持模板规则集 - 可自定义规则模板,方便快速使用预设的规则集进行成绩转换等操作。
安装方法
使用 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"]
使用提示
- 对 bot 发送
/omtk获取帮助信息 - 如果插件运行在 Unix 系统上,安装或每次更新都需要对
algorithm/ett/official_minaclac_runner授予执行权限(chmod +x official_minaclac_runner),以确保/ett功能正常使用。 - 如果需要为
/cvtscore添加其他规则集,请参考规则集示例和规则集模板示例。 - 如果未来Etterna官方算法有更新而本插件尚未更新,或你想使用自定义的算法版本时,可以参考构建指南自行构建并替换
algorithm/ett/official_minacalc_runner。 - 关于估计算法的准确度和表现,你可以前往ManiaMapAnalyser Benchmark查看基于真实谱面数据的评测结果。
- 如果你有任何问题或建议,欢迎提交issue或pr。
配置说明
| 配置项 | 是否必填 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| omtk_cache_max_age | 否 | int | 24 | 缓存文件最大保留时间(小时) |
| default_convert_od | 否 | int | 8 | .mc转.osu的默认OverallDifficulty值 |
| default_convert_hp | 否 | int | 8 | .mc转.osu的默认HPDrainRate值 |
| max_file_size_mb | 否 | int | 50 | 允许处理的最大文件大小(MB),设置为0时无限制 |
| batch_max_charts | 否 | int | 15 | 图包批量分析单次最多处理谱面数,设置为0时无限制 |
注: 其他内容的相关配置项过多,这里只列出基础配置部分。如有修改需要请查看配置文件中的注释。
参考内容
- Suuny Rework: 使用了Suuny Rework的算法进行难度估计。
- Interlude: 使用了Interlude的RC键型分析算法并在基础上新增LN检测算法。
- Daniel: 使用了Daniel的算法进行难度估计。
- Companella: 使用了Companella的算法进行难度估计。
- Etterna: 使用了Etterna官方的算法进行难度计算,并提供了构建指南以便用户自行构建和替换。
特别鸣谢
- 感谢 wds0 对本项目的资助和支持!
- 感谢ElainaFanBoy对文件管理的优化!