mirror of
https://github.com/A-Minos/nonebot-plugin-tetris-stats.git
synced 2026-03-05 05:36:54 +08:00
✨ 同步新模板 schemas
This commit is contained in:
12
nonebot_plugin_tetris_stats/utils/render/schemas/v1/base.py
Normal file
12
nonebot_plugin_tetris_stats/utils/render/schemas/v1/base.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
from ....typedefs import Number
|
||||
from ..base import HistoryData
|
||||
|
||||
|
||||
class History(BaseModel):
|
||||
data: list[HistoryData]
|
||||
split_interval: Number
|
||||
min_tr: Number
|
||||
max_tr: Number
|
||||
offset: Number
|
||||
@@ -0,0 +1,16 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from ......games.tetrio.api.typedefs import ValidRank
|
||||
|
||||
|
||||
class ItemData(BaseModel):
|
||||
trending: float
|
||||
require_tr: float
|
||||
players: int
|
||||
|
||||
|
||||
class Data(BaseModel):
|
||||
items: dict[ValidRank, ItemData]
|
||||
updated_at: datetime
|
||||
@@ -0,0 +1,50 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
from .......games.tetrio.api.typedefs import Rank
|
||||
from ......typedefs import Number
|
||||
from ....base import Base, People, Trending
|
||||
from ...base import History
|
||||
|
||||
|
||||
class User(People):
|
||||
bio: str | None
|
||||
|
||||
|
||||
class Multiplayer(BaseModel):
|
||||
glicko: str
|
||||
rd: Number
|
||||
rank: Rank
|
||||
tr: str
|
||||
global_rank: Number
|
||||
|
||||
history: History
|
||||
|
||||
lpm: Number
|
||||
pps: Number
|
||||
lpm_trending: Trending
|
||||
|
||||
apm: Number
|
||||
apl: Number
|
||||
apm_trending: Trending
|
||||
|
||||
adpm: Number
|
||||
vs: Number
|
||||
adpl: Number
|
||||
adpm_trending: Trending
|
||||
|
||||
app: Number
|
||||
ci: Number
|
||||
dspp: Number
|
||||
dsps: Number
|
||||
ge: Number
|
||||
|
||||
|
||||
class Singleplayer(BaseModel):
|
||||
sprint: str
|
||||
blitz: str
|
||||
|
||||
|
||||
class Info(Base):
|
||||
user: User
|
||||
multiplayer: Multiplayer
|
||||
singleplayer: Singleplayer
|
||||
@@ -0,0 +1,19 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
from .....typedefs import Number
|
||||
from ...base import Base, People, Trending
|
||||
|
||||
|
||||
class Data(BaseModel):
|
||||
pps: Number
|
||||
lpm: Number
|
||||
lpm_trending: Trending
|
||||
apm: Number
|
||||
apl: Number
|
||||
apm_trending: Trending
|
||||
|
||||
|
||||
class Info(Base):
|
||||
user: People
|
||||
today: Data
|
||||
historical: Data
|
||||
@@ -0,0 +1,40 @@
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from .....typedefs import Number
|
||||
from ...base import People, Trending
|
||||
from ..base import History
|
||||
|
||||
|
||||
class Multiplayer(BaseModel):
|
||||
history: History
|
||||
|
||||
lpm: Number
|
||||
pps: Number
|
||||
lpm_trending: Trending
|
||||
|
||||
apm: Number
|
||||
apl: Number
|
||||
apm_trending: Trending
|
||||
|
||||
adpm: Number
|
||||
vs: Number
|
||||
adpl: Number
|
||||
adpm_trending: Trending
|
||||
|
||||
app: Number
|
||||
ci: Number
|
||||
dspp: Number
|
||||
or_: Number = Field(serialization_alias='or')
|
||||
ge: Number
|
||||
|
||||
|
||||
class Singleplayer(BaseModel):
|
||||
sprint: str
|
||||
challenge: str
|
||||
marathon: str
|
||||
|
||||
|
||||
class Info(BaseModel):
|
||||
user: People
|
||||
multiplayer: Multiplayer
|
||||
singleplayer: Singleplayer
|
||||
Reference in New Issue
Block a user