Player format

This commit is contained in:
ciomek committed 2026-09-04 17:47:36 +02:00
1 parent 3dcd4173c2
commit 632d990c85
5 files changed
+27 -13

No files matched your search

@@ -4,7 +4,7 @@ from sqlalchemy.exc import IntegrityError
from sqlmodel import Session, select
from loon.web.db import engine
from loon.web.logs.service import write_log
from loon.web.logs.service import write_log, player_tag
from loon.web.logs.types import LogTypeEnum
from loon.web.users.models import MinecraftUser, User
@@ -47,6 +47,6 @@ async def change_password_handler(client, userdata, msg, data):
return
await write_log(LogTypeEnum.PLAYER_PASSWORD_CHANGED, f"Player {internal_username} ({uuid}) changed their password.")
await write_log(LogTypeEnum.PLAYER_PASSWORD_CHANGED, f"Player {player_tag(uuid, internal_username)} changed their password.")
client.publish(f"loon/auth/change_password/{uuid}/response", json.dumps({"success": True, "error": None}))
+9 -9
View File
@@ -1,7 +1,7 @@
import json
import random
from loon.web.logs.service import write_log
from loon.web.logs.service import write_log, player_tag
from loon.web.logs.types import LogTypeEnum
from loon.web.users.state import user_threads
@@ -94,41 +94,41 @@ async def marquee_handler(client, userdata, msg, data):
templates = DEATH_BY_KILLER.get(damage_type, DEATH_BY_KILLER_DEFAULT)
message = get_random(templates, username=username, killer=killer)
await write_log(LogTypeEnum.PLAYER_DEAD, f"Player {username} ({uuid}) was killed by {killer}.")
await write_log(LogTypeEnum.PLAYER_DEAD, f"Player {player_tag(uuid, username)} was killed by {killer}.")
elif damage_type in DEATH_BY_DAMAGE:
message = get_random(DEATH_BY_DAMAGE[damage_type], username=username)
await write_log(LogTypeEnum.PLAYER_DEAD, f"Player {username} ({uuid}) died of {damage_type}.")
await write_log(LogTypeEnum.PLAYER_DEAD, f"Player {player_tag(uuid, username)} died of {damage_type}.")
elif damage_type:
message = f"{username} died of {damage_type}"
await write_log(LogTypeEnum.PLAYER_DEAD, f"Player {username} ({uuid}) died of {damage_type}.")
await write_log(LogTypeEnum.PLAYER_DEAD, f"Player {player_tag(uuid, username)} died of {damage_type}.")
else:
message = f"{username} died"
await write_log(LogTypeEnum.PLAYER_DEAD, f"Player {username} ({uuid}) died.")
await write_log(LogTypeEnum.PLAYER_DEAD, f"Player {player_tag(uuid, username)} died.")
elif subtopic == "joined":
message = f"{username} joined the game"
await write_log(LogTypeEnum.PLAYER_JOINED, f"Player {username} ({uuid}) joined the game.")
await write_log(LogTypeEnum.PLAYER_JOINED, f"Player {player_tag(uuid, username)} joined the game.")
elif subtopic == "kicked":
reason = data.get("reason")
if reason == BAN_KICK_REASON:
message = f"{username} was banned"
await write_log(LogTypeEnum.PLAYER_BANNED, f"Player {username} ({uuid}) was banned.")
await write_log(LogTypeEnum.PLAYER_BANNED, f"Player {player_tag(uuid, username)} was banned.")
else:
message = f"{username} was kicked: {reason}" if reason else f"{username} was kicked"
await write_log(
LogTypeEnum.PLAYER_KICKED,
f"Player {username} ({uuid}) was kicked: {reason}." if reason else f"Player {username} ({uuid}) was kicked.",
f"Player {player_tag(uuid, username)} was kicked: {reason}." if reason else f"Player {player_tag(uuid, username)} was kicked.",
)
else:
message = f"{username} left the game"
await write_log(LogTypeEnum.PLAYER_LEFT, f"Player {username} ({uuid}) left the game.")
await write_log(LogTypeEnum.PLAYER_LEFT, f"Player {player_tag(uuid, username)} left the game.")
envelope = json.dumps({"topic": "server/marquee", "payload": {"message": message}})
+2 -2
View File
@@ -4,7 +4,7 @@ from sqlalchemy.exc import IntegrityError
from sqlmodel import Session, select
from loon.web.db import engine
from loon.web.logs.service import write_log
from loon.web.logs.service import write_log, player_tag
from loon.web.logs.types import LogTypeEnum
from loon.web.users.models import MinecraftUser, User
@@ -59,6 +59,6 @@ async def register_request_handler(client, userdata, msg, data):
return
await write_log(LogTypeEnum.PLAYER_REGISTERED, f"Player {internal_username} ({uuid}) registered.")
await write_log(LogTypeEnum.PLAYER_REGISTERED, f"Player {player_tag(uuid, internal_username)} registered.")
client.publish(f"loon/auth/register/{uuid}/response", json.dumps({"success": True, "error": None}))
+10
View File
@@ -7,6 +7,8 @@ from loon.web.auth.middleware import admin
from loon.web.db import engine
from loon.web.logs.models import LogEntry
from loon.web.logs.schema import LogEntryResponse
from loon.web.users.models import MinecraftUser
from loon.web.users.schema import MinecraftUserPublic
router = APIRouter(prefix="/admin", tags=["admin"])
@@ -30,3 +32,11 @@ async def list_logs(request: Request):
)
for entry in entries
]
@router.get("/mc-users", response_model=list[MinecraftUserPublic])
@admin
async def list_mc_users(request: Request):
with Session(engine) as session:
statement = select(MinecraftUser).order_by(MinecraftUser.username)
return session.exec(statement).all()
+4
View File
@@ -7,6 +7,10 @@ from loon.web.logs.models import LogType, LogEntry
from loon.web.logs.types import LogTypeEnum
def player_tag(uuid: str, username: str) -> str:
return f"[player:{uuid}]{username}[/player]"
def _write_log(log_type: LogTypeEnum, message: str) -> None:
with Session(engine) as session:
statement = select(LogType).where(LogType.code == log_type.value)