类型
python
from bestdori import typing枚举类
一些特殊的枚举类数据类型,部分函数参数值与信息字典字段值只会为枚举项中的一项。
Server 服务器 ID
| 值 | 描述 |
|---|---|
| 0 | 日本服务器 |
| 1 | 国际服务器 |
| 2 | 台湾服务器 |
| 3 | 大陆服务器 |
| 4 | 韩国服务器 |
ServerName 服务器名称
服务器对应的字符串标识。
| 值 | 描述 |
|---|---|
'jp' | 日本服务器 |
'en' | 国际服务器 |
'tw' | 台湾服务器 |
'cn' | 大陆服务器 |
'kr' | 韩国服务器 |
Difficulty 难度 ID
| 值 | 描述 |
|---|---|
| 0 | EASY 难度 |
| 1 | NORMAL 难度 |
| 2 | HARD 难度 |
| 3 | EXPERT 难度 |
| 4 | SPECIAL 难度 |
难度 ID 字符串
DifficultyString 难度 ID 字符串
难度 ID 的字符串,在特定数据中作为字段名使用。
| 值 | 描述 |
|---|---|
'0' | EASY 难度 |
'1' | NORMAL 难度 |
'2' | HARD 难度 |
'3 | EXPERT 难度 |
'4' | SPECIAL 难度 |
DifficultyName 难度名称
| 值 | 描述 |
|---|---|
'easy' | EASY 难度 |
'normal' | NORMAL 难度 |
'hard' | HARD 难度 |
expert | EXPERT 难度 |
special | SPECIAL 难度 |
Order 排序方式
| 值 | 描述 |
|---|---|
'TIME_DESC' | 时间降序 |
'TIME_ASC' | 时间升序 |
定长列表
类型: List[T | None] / List[T | NoneDict]
从 Bestdori 获取到的信息中会出现的列表类型。列表的长度固定为 5 ,依次对应 5 个服务器中所使用的数据内容。列表中非空元素在绝大多数情况下总是一致的,若对应的服务器不存在相对应的数据,则该项元素值为 None 、 NoneDict 或空列表。
| 下标 | 对应服务器 |
|---|---|
| 0 | JP 日本服务器 |
| 1 | EN 国际服务器 |
| 2 | TW 台湾服务器 |
| 3 | CN 大陆服务器 |
| 4 | KR 韩国服务器 |
字典
类型: Dict[str, Any]
从 Bestdori 获取到的信息中,绝大多数都为字典。 Bestdori API 选择使用 TypedDict 为获取到的信息进行类型注释,实际使用中与普通字典数据类型没有区别。
NoneDict 空字典
值恒为 {} 的字典。大部分类似 get_{name}_all() / get_{name}_all_async() 的函数,当传入 index=0 参数或其他小值时,会返回仅有以 ID 为字段名、以此种字典为字段值的数据字典。此时字段值不包含任何信息,仅供遍历有效 ID 使用。
Title 称号
称号信息字典。
| 字段名 | 类型 | 描述 |
|---|---|---|
| id | int | 称号 ID |
| type | str | 称号类型 |
| server | Server | 称号所在服务器 |
models 数据模型
Bestdori API 数据模型模块。定义 Bestdori API 中使用的复杂数据模型。
python
from bestdori import modelscontent 帖子内容
帖子内容数据模型模块。以消息元素形式存储帖子内容。
python
from models import contentclass Content() dataclass 基础内容元素
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | str | 内容元素类型 |
class Text() dataclass 文本元素
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | Literal['text'] | 内容元素类型 |
| data | str | 文本内容 |
class Br() dataclass 换行元素
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | Literal['br'] | 内容元素类型 |
class Emoji() dataclass 表情元素
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | Literal['emoji'] | 内容元素类型 |
| data | str | 表情 ID |
class Mention() dataclass 提及元素
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | Literal['mention'] | 内容元素类型 |
| data | str | 提及用户名 |
class Heading() dataclass 标题元素
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | Literal['heading'] | 内容元素类型 |
| data | str | 标题内容 |
| margin | Literal['top'] | 页边空白位置 |
class Image() dataclass 图片元素
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | Literal['image'] | 内容元素类型 |
| display | int | 显示类型 |
| object | List[str] | 图片网址列表 |
display 可用属性值
| 值 | 描述 |
|---|---|
0 | 大图 |
1 | 缩略图 |
2 | 图标 |
class Link() dataclass 链接元素
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | Literal['link'] | 内容元素类型 |
| data | str | 链接地址 |
| target | str | 链接对象 |
target 可用属性值
| 值 | 描述 |
|---|---|
'url' | 链接 URL |
'character-single' | 链接角色 |
'card-single' | 链接卡牌 |
'costume-single' | 链接服装 |
'event-single' | 链接活动 |
'gacha-single' | 链接招募 |
'song-single' | 链接歌曲 |
'logincampaign-single' | 链接登录奖励 |
'comic-single' | 链接漫画 |
'mission-single' | 链接任务 |
class ListContent() dataclass 列表元素
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | Literal['list'] | 内容元素类型 |
| target | str | 列表对象 |
| display | int | 显示类型 |
| object | List[str] | 列表对象 ID 列表 |
target 可用属性值
| 值 | 描述 |
|---|---|
'character-info' | 角色信息 |
'card-info' | 卡牌信息 |
'card-icon' | 卡牌图标 |
'costume-info' | 服装信息 |
'event-info' | 活动信息 |
'gacha-info' | 招募信息 |
'song-info' | 歌曲信息 |
'logincampaign-info' | 登录奖励信息 |
'comic-info' | 漫画信息 |
'mission-info' | 任务信息 |
display 可用属性值
| 值 | 描述 |
|---|---|
0 | - |
1 | - |
2 | - |
note 音符
音符数据模型模块。谱面构成的基本元素, Chart 的基础构成即为 List[Note] 。
python
from models import noteclass BPM() dataclass BPM 线
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | Literal['BPM'] | 音符类型 |
| bpm | float | BPM 值 |
| beat | float | BPM 线所在节拍值 |
class Single() dataclass 单键音符
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | Literal['Single'] | 音符类型 |
| beat | float | 节拍值 |
| lane | float | 音符所在轨道 |
| flick | bool | 是否为滑键 |
| skill | bool | 是否为技能音符 |
class Directional() dataclass 方向滑键音符
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | Literal['Directional'] | 音符类型 |
| beat | float | 节拍值 |
| lane | float | 音符所在轨道 |
| width | int | 音符宽度 |
| direction | int | 滑键方向 |
direction 可用属性值
| 值 | 描述 |
|---|---|
'Left' | 左滑键 |
'Right' | 右滑键 |
class Connection() dataclass 滑条音符节点
| 属性名 | 类型 | 描述 |
|---|---|---|
| beat | float | 节拍值 |
| flick | bool | 是否为滑键 |
| skill | bool | 是否为技能音符 |
| hidden | bool | 是否为隐藏音符 |
| lane | float | 音符所在轨道 |
| prev | Optional[Connection] | 前一个音符 |
| next | Optional[Connection] | 后一个音符 |
class Slide() dataclass 滑条音符
| 属性名 | 类型 | 描述 |
|---|---|---|
| type | Literal['Slide'] | 音符类型 |
| connections | List[Connection] | 滑条节点列表 |
| head | Connection | 滑条头 |
| tail | Connection | 滑条尾 |
