ayachan
Ayachan 站点 API 接口统合,提供了对 Ayachan 站点,包括 Sonolus 测试服在内的 API 的包装。
python
from bestdori import ayachan类型定义
Version 版本信息
| 字段名 | 类型 | 描述 |
|---|---|---|
| version | str | 版本号 |
ChartMetrics 谱面分析结果
| 字段名 | 类型 | 描述 |
|---|---|---|
| difficulty | ChartDifficultyStandard | 难度评级 |
| difficulty_extend | ChartDifficultyExtend | 难度评级扩展 |
| metrics | ChartMetricsStandard | 谱面分析结果 |
| metrics_extend | ChartMetricsExtend | 谱面分析结果扩展 |
ChartDifficultyStandard
| 字段名 | 类型 | 描述 |
|---|---|---|
| difficulty | float | 加权平均难度评级 |
| max_screen_nps | float | 最大音符密度评级 |
| total_hps | float | 整体每秒击打评级 |
| total_nps | float | 整体每秒音符评级 |
ChartDifficultyExtend
| 字段名 | 类型 | 描述 |
|---|---|---|
| finger_max_hps | int | 最大单手每秒击打相对难度 |
| flick_note_interval | int | 粉键-下个键间隔相对难度 |
| note_flick_interval | int | 上个键-粉键间隔相对难度 |
| max_speed | int | 最大单手移动速度相对难度 |
可用字段值
| 值 | 描述 |
|---|---|
-1 | 难度相对加权平均难度偏低 |
0 | 难度相对加权平均难度正常 |
1 | 难度相对加权平均难度偏高 |
ChartMetricsStandard
| 字段名 | 类型 | 描述 |
|---|---|---|
| bpm_high | float | 最大 BPM |
| bpm_low | float | 最小 BPM |
| distribution | Distribution | 谱面分布信息 |
| irregular | RegularType | 谱面分析情况 |
| irregular_info | str | 无法分析时出现的第一个错误信息 |
| main_bpm | float | 主 BPM |
| max_screen_nps | float | 最大音符密度 |
| note_count | NoteCount | 音符数量 |
| sp_rhythm | bool | 是否使用了 SP 键 |
| total_hit_note | int | 总击打音符数量 |
| total_hps | float | 每秒击打数量 |
| total_note | int | 总音符数量 |
| total_nps | float | 每秒音符数量 |
| total_time | float | 总时间 |
Distribution
| 字段名 | 类型 | 描述 |
|---|---|---|
| hit | List[int] | 击打分布 |
| note | List[int] | 音符分布 |
RegularType
| 值 | 描述 |
|---|---|
0 | 谱面分析失败 |
1 | 标准谱面 |
2 | 非标准谱面 |
NoteCount
| 字段名 | 类型 | 描述 |
|---|---|---|
| direction_left | int | 左滑方向键数量 |
| direction_right | int | 右滑方向键数量 |
| flick | int | 粉键数量 |
| single | int | 单键数量 |
| slide_end | int | 滑键尾键数量 |
| slide_flick | int | 滑键粉键数量 |
| slide_hidden | int | 滑键隐藏键数量 |
| slide_start | int | 滑键头键数量 |
| slide_tick | int | 滑键中间键数量 |
ChartMetricsExtend
| 字段名 | 类型 | 描述 |
|---|---|---|
| finger_max_hps | int | 最大单手每秒击打数量 |
| flick_note_interval | int | 粉键-下个键间隔 |
| note_flick_interval | int | 上个键-粉键间隔 |
| left_percent | float | 左手击打音符占比 |
| max_speed | int | 最大单手移动速度 |
Level Sonolus 测试服关卡信息
| 字段名 | 类型 | 描述 |
|---|---|---|
| item | LevelItem | 关卡信息 |
| description | str | 关卡描述 |
| hasCommunity | bool | 是否有社区 |
| leaderboards | List[str] | 排行榜 |
| actions | List[str] | 动作 |
| sections | List[str] | 章节 |
LevelItem
| 字段名 | 类型 | 描述 |
|---|---|---|
| name | str | 名称 |
| source | str | 资源 |
| version | int | 版本 |
| rating | int | 难度等级 |
| title | str | 标题 |
| artists | str | 艺术家 |
| author | str | 谱面作者 |
| tags | List[str] | 标签 |
| engine | LevelItemEngine | 引擎 |
| useSkin | EngineUseUnit | 使用的皮肤 |
| useBackground | EngineUseUnit | 使用的背景 |
| useEffect | EngineUseUnit | 使用的特效 |
| useParticle | EngineUseUnit | 使用的粒子 |
| cover | EngineDataUnit | 封面 |
| bgm | EngineDataUnit | 背景音乐 |
| data | EngineDataUnit | 数据 |
LevelItemEngine
| 字段名 | 类型 | 描述 |
|---|---|---|
| name | str | 名称 |
| source | str | 资源 |
| version | int | 版本 |
| title | str | 标题 |
| subtitle | str | 副标题 |
| author | str | 作者 |
| tags | List[str] | 标签 |
| skin | LevelItemEngineSkin | 皮肤 |
| background | LevelItemEnginBackground | 背景 |
| effect | LevelItemEngineEffect | 特效 |
| particle | LevelItemEngineParticle | 粒子 |
| thumbnail | EngineDataUnit | 缩略图 |
| playData | EngineDataUnit | 游玩数据 |
| watchData | EngineDataUnit | 观看数据 |
| previewData | EngineDataUnit | 预览数据 |
| tutorialData | EngineDataUnit | 教程数据 |
| configuration | EngineDataUnit | 配置 |
LevelItemEngineSkin
| 字段名 | 类型 | 描述 |
|---|---|---|
| name | str | 名称 |
| source | str | 资源 |
| version | int | 版本 |
| title | str | 标题 |
| subtitle | str | 副标题 |
| author | str | 作者 |
| tags | List[str] | 标签 |
| thumbnail | EngineDataUnit | 缩略图 |
| data | EngineDataUnit | 数据 |
| texture | EngineDataUnit | 纹理 |
LevelItemEnginBackground
| 字段名 | 类型 | 描述 |
|---|---|---|
| name | str | 名称 |
| source | str | 资源 |
| version | int | 版本 |
| title | str | 标题 |
| subtitle | str | 副标题 |
| author | str | 作者 |
| tags | List[str] | 标签 |
| thumbnail | EngineDataUnit | 缩略图 |
| data | EngineDataUnit | 数据 |
| image | EngineDataUnit | 图片 |
| configuration | EngineDataUnit | 配置 |
LevelItemEngineEffect
| 字段名 | 类型 | 描述 |
|---|---|---|
| name | str | 名称 |
| source | str | 资源 |
| version | int | 版本 |
| title | str | 标题 |
| subtitle | str | 副标题 |
| author | str | 作者 |
| tags | List[str] | 标签 |
| thumbnail | EngineDataUnit | 缩略图 |
| data | EngineDataUnit | 数据 |
| audio | EngineDataUnit | 音频 |
LevelItemEngineParticle
| 字段名 | 类型 | 描述 |
|---|---|---|
| name | str | 名称 |
| source | str | 资源 |
| version | int | 版本 |
| title | str | 标题 |
| subtitle | str | 副标题 |
| author | str | 作者 |
| tags | List[str] | 标签 |
| thumbnail | EngineDataUnit | 缩略图 |
| data | EngineDataUnit | 数据 |
| texture | EngineDataUnit | 纹理 |
EngineDataUnit
| 字段名 | 类型 | 描述 |
|---|---|---|
| hash | str | 数据哈希值 |
| url | str | 数据链接 |
EngineUseUnit
| 字段名 | 类型 | 描述 |
|---|---|---|
| useDefault | bool | 是否使用默认项 |
def get_version() async
获取 Ayachan API 版本信息。
返回值:Versionchartmetrics 谱面分析
Ayachan 谱面信息分析获取模块。
python
from ayachan import chartmetricsdef chart_metrics_bandori() async
| 参数名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| chart_id | int | - | 谱面 ID |
| diff_str | DifficultyName | - | 难度名称 |
分析 BanG Dream! 游戏内谱面。
返回值:ChartMetricsdef chart_metrics_bestdori() async
| 参数名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| chart_id | int | - | 谱面 ID |
分析 Bestdori! 社区谱面。
返回值:ChartMetricsdef chart_metrics_custom() async
| 参数名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| diff_str | DifficultyName | - | 难度名称 |
| chart | Chart | List[Dict[str, Any]] | - | 谱面对象或原始谱面结构 |
分析自定义谱面。
返回值:ChartMetricssonolus Sonolus 测试服信息获取模块。
python
from ayachan import sonolusdef levels_post() async
| 参数名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| title | str | - | 标题 |
| bgm | str | Path | - | 上传歌曲 |
| chart | Chart | List[Dict[str, Any]] | - | 谱面对象或原始谱面结构 |
| difficulty | int | 25 | 难度等级 |
| hidden | bool | False | 是否隐藏 |
| lifetime | int | 21600 | 关卡有效期 (s) |
上传测试服关卡。返回值为上传的测试服关卡 ID 。
返回值:intdef levels_get() async
| 参数名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| uid | int | - | 测试服关卡 ID |
获取测试服关卡谱面。
返回值:Chartdef levels() async
| 参数名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| uid | int | - | 测试服关卡 ID |
获取测试服关卡信息。
返回值:Level