Skip to content

ayachan

Ayachan 站点 API 接口统合,提供了对 Ayachan 站点,包括 Sonolus 测试服在内的 API 的包装。

python
from bestdori import ayachan

类型定义

Version 版本信息

字段名类型描述
versionstr版本号

ChartMetrics 谱面分析结果

字段名类型描述
difficultyChartDifficultyStandard难度评级
difficulty_extendChartDifficultyExtend难度评级扩展
metricsChartMetricsStandard谱面分析结果
metrics_extendChartMetricsExtend谱面分析结果扩展

ChartDifficultyStandard

字段名类型描述
difficultyfloat加权平均难度评级
max_screen_npsfloat最大音符密度评级
total_hpsfloat整体每秒击打评级
total_npsfloat整体每秒音符评级

ChartDifficultyExtend

字段名类型描述
finger_max_hpsint最大单手每秒击打相对难度
flick_note_intervalint粉键-下个键间隔相对难度
note_flick_intervalint上个键-粉键间隔相对难度
max_speedint最大单手移动速度相对难度
可用字段值
描述
-1难度相对加权平均难度偏低
0难度相对加权平均难度正常
1难度相对加权平均难度偏高

ChartMetricsStandard

字段名类型描述
bpm_highfloat最大 BPM
bpm_lowfloat最小 BPM
distributionDistribution谱面分布信息
irregularRegularType谱面分析情况
irregular_infostr无法分析时出现的第一个错误信息
main_bpmfloat主 BPM
max_screen_npsfloat最大音符密度
note_countNoteCount音符数量
sp_rhythmbool是否使用了 SP 键
total_hit_noteint总击打音符数量
total_hpsfloat每秒击打数量
total_noteint总音符数量
total_npsfloat每秒音符数量
total_timefloat总时间

Distribution

字段名类型描述
hitList[int]击打分布
noteList[int]音符分布

RegularType

描述
0谱面分析失败
1标准谱面
2非标准谱面

NoteCount

字段名类型描述
direction_leftint左滑方向键数量
direction_rightint右滑方向键数量
flickint粉键数量
singleint单键数量
slide_endint滑键尾键数量
slide_flickint滑键粉键数量
slide_hiddenint滑键隐藏键数量
slide_startint滑键头键数量
slide_tickint滑键中间键数量

ChartMetricsExtend

字段名类型描述
finger_max_hpsint最大单手每秒击打数量
flick_note_intervalint粉键-下个键间隔
note_flick_intervalint上个键-粉键间隔
left_percentfloat左手击打音符占比
max_speedint最大单手移动速度

Level Sonolus 测试服关卡信息

字段名类型描述
itemLevelItem关卡信息
descriptionstr关卡描述
hasCommunitybool是否有社区
leaderboardsList[str]排行榜
actionsList[str]动作
sectionsList[str]章节

LevelItem

字段名类型描述
namestr名称
sourcestr资源
versionint版本
ratingint难度等级
titlestr标题
artistsstr艺术家
authorstr谱面作者
tagsList[str]标签
engineLevelItemEngine引擎
useSkinEngineUseUnit使用的皮肤
useBackgroundEngineUseUnit使用的背景
useEffectEngineUseUnit使用的特效
useParticleEngineUseUnit使用的粒子
coverEngineDataUnit封面
bgmEngineDataUnit背景音乐
dataEngineDataUnit数据

LevelItemEngine

字段名类型描述
namestr名称
sourcestr资源
versionint版本
titlestr标题
subtitlestr副标题
authorstr作者
tagsList[str]标签
skinLevelItemEngineSkin皮肤
backgroundLevelItemEnginBackground背景
effectLevelItemEngineEffect特效
particleLevelItemEngineParticle粒子
thumbnailEngineDataUnit缩略图
playDataEngineDataUnit游玩数据
watchDataEngineDataUnit观看数据
previewDataEngineDataUnit预览数据
tutorialDataEngineDataUnit教程数据
configurationEngineDataUnit配置

LevelItemEngineSkin

字段名类型描述
namestr名称
sourcestr资源
versionint版本
titlestr标题
subtitlestr副标题
authorstr作者
tagsList[str]标签
thumbnailEngineDataUnit缩略图
dataEngineDataUnit数据
textureEngineDataUnit纹理

LevelItemEnginBackground

字段名类型描述
namestr名称
sourcestr资源
versionint版本
titlestr标题
subtitlestr副标题
authorstr作者
tagsList[str]标签
thumbnailEngineDataUnit缩略图
dataEngineDataUnit数据
imageEngineDataUnit图片
configurationEngineDataUnit配置

LevelItemEngineEffect

字段名类型描述
namestr名称
sourcestr资源
versionint版本
titlestr标题
subtitlestr副标题
authorstr作者
tagsList[str]标签
thumbnailEngineDataUnit缩略图
dataEngineDataUnit数据
audioEngineDataUnit音频

LevelItemEngineParticle

字段名类型描述
namestr名称
sourcestr资源
versionint版本
titlestr标题
subtitlestr副标题
authorstr作者
tagsList[str]标签
thumbnailEngineDataUnit缩略图
dataEngineDataUnit数据
textureEngineDataUnit纹理

EngineDataUnit

字段名类型描述
hashstr数据哈希值
urlstr数据链接

EngineUseUnit

字段名类型描述
useDefaultbool是否使用默认项

def get_version() async

获取 Ayachan API 版本信息。

返回值: Version

chartmetrics 谱面分析

Ayachan 谱面信息分析获取模块。

python
from ayachan import chartmetrics

def chart_metrics_bandori() async

参数名类型默认值描述
chart_idint-谱面 ID
diff_strDifficultyName-难度名称

分析 BanG Dream! 游戏内谱面。

返回值: ChartMetrics

def chart_metrics_bestdori() async

参数名类型默认值描述
chart_idint-谱面 ID

分析 Bestdori! 社区谱面。

返回值: ChartMetrics

def chart_metrics_custom() async

参数名类型默认值描述
diff_strDifficultyName-难度名称
chartChart | List[Dict[str, Any]]-谱面对象或原始谱面结构

分析自定义谱面。

返回值: ChartMetrics

sonolus Sonolus 测试服信息获取模块。

python
from ayachan import sonolus

def levels_post() async

参数名类型默认值描述
titlestr-标题
bgmstr | Path-上传歌曲
chartChart | List[Dict[str, Any]]-谱面对象或原始谱面结构
difficultyint25难度等级
hiddenboolFalse是否隐藏
lifetimeint21600关卡有效期 (s)

上传测试服关卡。返回值为上传的测试服关卡 ID 。

返回值: int

def levels_get() async

参数名类型默认值描述
uidint-测试服关卡 ID

获取测试服关卡谱面。

返回值: Chart

def levels() async

参数名类型默认值描述
uidint-测试服关卡 ID

获取测试服关卡信息。

返回值: Level