mirror of
https://github.com/A-Minos/nonebot-plugin-tetris-stats.git
synced 2026-03-05 05:36:54 +08:00
✨ 适配新模板
This commit is contained in:
@@ -81,6 +81,7 @@ async def make_blitz_image(player: Player) -> bytes:
|
|||||||
page=await render(
|
page=await render(
|
||||||
'v2/tetrio/record/blitz',
|
'v2/tetrio/record/blitz',
|
||||||
Record(
|
Record(
|
||||||
|
type='personal_best',
|
||||||
user=User(
|
user=User(
|
||||||
id=user.ID,
|
id=user.ID,
|
||||||
name=user.name.upper(),
|
name=user.name.upper(),
|
||||||
@@ -93,6 +94,7 @@ async def make_blitz_image(player: Player) -> bytes:
|
|||||||
),
|
),
|
||||||
replay_id=blitz.data.record.replayid,
|
replay_id=blitz.data.record.replayid,
|
||||||
rank=blitz.data.rank,
|
rank=blitz.data.rank,
|
||||||
|
personal_rank=1,
|
||||||
statistic=Statistic(
|
statistic=Statistic(
|
||||||
keys=stats.inputs,
|
keys=stats.inputs,
|
||||||
kpp=round(stats.inputs / stats.piecesplaced, 2),
|
kpp=round(stats.inputs / stats.piecesplaced, 2),
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ from ....utils.host import HostPage, get_self_netloc
|
|||||||
from ....utils.metrics import get_metrics
|
from ....utils.metrics import get_metrics
|
||||||
from ....utils.render import render
|
from ....utils.render import render
|
||||||
from ....utils.render.schemas.base import Avatar
|
from ....utils.render.schemas.base import Avatar
|
||||||
from ....utils.render.schemas.tetrio.tetrio_record_base import Finesse, Max, Mini, Tspins, User
|
from ....utils.render.schemas.tetrio.tetrio_record_base import Finesse, Max, Mini, Statistic, Tspins, User
|
||||||
from ....utils.render.schemas.tetrio.tetrio_record_sprint import Record, Statistic
|
from ....utils.render.schemas.tetrio.tetrio_record_sprint import Record
|
||||||
from ....utils.screenshot import screenshot
|
from ....utils.screenshot import screenshot
|
||||||
from ....utils.typing import Me
|
from ....utils.typing import Me
|
||||||
from ...constant import CANT_VERIFY_MESSAGE
|
from ...constant import CANT_VERIFY_MESSAGE
|
||||||
@@ -82,6 +82,7 @@ async def make_sprint_image(player: Player) -> bytes:
|
|||||||
page=await render(
|
page=await render(
|
||||||
'v2/tetrio/record/40l',
|
'v2/tetrio/record/40l',
|
||||||
Record(
|
Record(
|
||||||
|
type='personal_best',
|
||||||
user=User(
|
user=User(
|
||||||
id=user.ID,
|
id=user.ID,
|
||||||
name=user.name.upper(),
|
name=user.name.upper(),
|
||||||
@@ -95,6 +96,7 @@ async def make_sprint_image(player: Player) -> bytes:
|
|||||||
time=sprint_value,
|
time=sprint_value,
|
||||||
replay_id=sprint.data.record.replayid,
|
replay_id=sprint.data.record.replayid,
|
||||||
rank=sprint.data.rank,
|
rank=sprint.data.rank,
|
||||||
|
personal_rank=1,
|
||||||
statistic=Statistic(
|
statistic=Statistic(
|
||||||
keys=stats.inputs,
|
keys=stats.inputs,
|
||||||
kpp=round(stats.inputs / stats.piecesplaced, 2),
|
kpp=round(stats.inputs / stats.piecesplaced, 2),
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
from datetime import datetime
|
||||||
|
from typing import Literal
|
||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from ..base import People
|
from ..base import People
|
||||||
@@ -32,7 +35,7 @@ class Finesse(BaseModel):
|
|||||||
accuracy: float
|
accuracy: float
|
||||||
|
|
||||||
|
|
||||||
class RecordStatistic(BaseModel):
|
class Statistic(BaseModel):
|
||||||
keys: int
|
keys: int
|
||||||
kpp: float
|
kpp: float
|
||||||
kps: float
|
kps: float
|
||||||
@@ -56,3 +59,17 @@ class RecordStatistic(BaseModel):
|
|||||||
all_clear: int
|
all_clear: int
|
||||||
|
|
||||||
finesse: Finesse
|
finesse: Finesse
|
||||||
|
|
||||||
|
|
||||||
|
class Record(BaseModel):
|
||||||
|
type: Literal['best', 'personal_best', 'recent', 'disputed']
|
||||||
|
|
||||||
|
user: User
|
||||||
|
|
||||||
|
replay_id: str
|
||||||
|
rank: int | None
|
||||||
|
personal_rank: int | None
|
||||||
|
|
||||||
|
statistic: Statistic
|
||||||
|
|
||||||
|
play_at: datetime
|
||||||
|
|||||||
@@ -1,22 +1,12 @@
|
|||||||
from datetime import datetime
|
from .tetrio_record_base import Record as BaseRecord
|
||||||
|
from .tetrio_record_base import Statistic as BaseStatistic
|
||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
from .tetrio_record_base import RecordStatistic, User
|
|
||||||
|
|
||||||
|
|
||||||
class Statistic(RecordStatistic):
|
class Statistic(BaseStatistic):
|
||||||
spp: float
|
spp: float
|
||||||
|
|
||||||
level: int
|
level: int
|
||||||
|
|
||||||
|
|
||||||
class Record(BaseModel):
|
class Record(BaseRecord):
|
||||||
user: User
|
|
||||||
|
|
||||||
replay_id: str
|
|
||||||
rank: int | None
|
|
||||||
|
|
||||||
statistic: Statistic
|
statistic: Statistic
|
||||||
|
|
||||||
play_at: datetime
|
|
||||||
|
|||||||
@@ -1,18 +1,5 @@
|
|||||||
from datetime import datetime
|
from .tetrio_record_base import Record as BaseRecord
|
||||||
|
|
||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
from .tetrio_record_base import RecordStatistic as Statistic
|
|
||||||
from .tetrio_record_base import User
|
|
||||||
|
|
||||||
|
|
||||||
class Record(BaseModel):
|
class Record(BaseRecord):
|
||||||
user: User
|
|
||||||
|
|
||||||
time: str
|
time: str
|
||||||
replay_id: str
|
|
||||||
rank: int | None
|
|
||||||
|
|
||||||
statistic: Statistic
|
|
||||||
|
|
||||||
play_at: datetime
|
|
||||||
|
|||||||
Reference in New Issue
Block a user