feat(event): replace beatmap url with server url

This commit is contained in:
MingxuanGame
2025-09-13 14:38:43 +00:00
parent ffe4c5b14d
commit 7d0b2c657d
2 changed files with 12 additions and 6 deletions

View File

@@ -1,5 +1,6 @@
from typing import TYPE_CHECKING
from app.config import settings
from app.database.events import Event, EventType
from app.utils import utcnow
@@ -80,7 +81,7 @@ async def process_beatmap_playcount(session: AsyncSession, user_id: int, beatmap
"count": existing_playcount.playcount,
"beatmap": {
"title": existing_playcount.beatmap.version,
"url": existing_playcount.beatmap.url,
"url": existing_playcount.beatmap.url.replace("https://osu.ppy.sh/", settings.web_url),
},
}
session.add(playcount_event)

View File

@@ -170,8 +170,10 @@ async def submit_score(
"rank": resp.rank_global,
"mode": score.gamemode.readable(),
"beatmap": {
"title": f"{resp.beatmap.beatmapset.artist} - {resp.beatmap.beatmapset.title} [{resp.beatmap.version}]", # pyright: ignore[reportOptionalMemberAccess]
"url": resp.beatmap.url, # pyright: ignore[reportOptionalMemberAccess]
"title": (
f"{score.beatmap.beatmapset.artist} - {score.beatmap.beatmapset.title} [{score.beatmap.version}]"
),
"url": score.beatmap.url.replace("https://osu.ppy.sh/", settings.web_url),
},
"user": {
"username": score.user.username,
@@ -200,11 +202,14 @@ async def submit_score(
type=EventType.RANK_LOST,
user_id=displaced_score.user_id,
)
rank_lost_event.event_payload = {
rank_lost_event.eventgi_payload = {
"mode": score.gamemode.readable(),
"beatmap": {
"title": score.beatmap.version,
"url": score.beatmap.url,
"title": (
f"{score.beatmap.beatmapset.artist} - {score.beatmap.beatmapset.title} "
f"[{score.beatmap.version}]"
),
"url": score.beatmap.url.replace("https://osu.ppy.sh/", settings.web_url),
},
"user": {
"username": username,