Player format
This commit is contained in:
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 sqlmodel import Session, select
|
||||||
|
|
||||||
from loon.web.db import engine
|
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.logs.types import LogTypeEnum
|
||||||
from loon.web.users.models import MinecraftUser, User
|
from loon.web.users.models import MinecraftUser, User
|
||||||
|
|
||||||
@@ -47,6 +47,6 @@ async def change_password_handler(client, userdata, msg, data):
|
|||||||
|
|
||||||
return
|
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}))
|
client.publish(f"loon/auth/change_password/{uuid}/response", json.dumps({"success": True, "error": None}))
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
import random
|
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.logs.types import LogTypeEnum
|
||||||
from loon.web.users.state import user_threads
|
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)
|
templates = DEATH_BY_KILLER.get(damage_type, DEATH_BY_KILLER_DEFAULT)
|
||||||
message = get_random(templates, username=username, killer=killer)
|
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:
|
elif damage_type in DEATH_BY_DAMAGE:
|
||||||
message = get_random(DEATH_BY_DAMAGE[damage_type], username=username)
|
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:
|
elif damage_type:
|
||||||
message = f"{username} died of {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:
|
else:
|
||||||
message = f"{username} died"
|
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":
|
elif subtopic == "joined":
|
||||||
message = f"{username} joined the game"
|
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":
|
elif subtopic == "kicked":
|
||||||
reason = data.get("reason")
|
reason = data.get("reason")
|
||||||
|
|
||||||
if reason == BAN_KICK_REASON:
|
if reason == BAN_KICK_REASON:
|
||||||
message = f"{username} was banned"
|
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:
|
else:
|
||||||
message = f"{username} was kicked: {reason}" if reason else f"{username} was kicked"
|
message = f"{username} was kicked: {reason}" if reason else f"{username} was kicked"
|
||||||
|
|
||||||
await write_log(
|
await write_log(
|
||||||
LogTypeEnum.PLAYER_KICKED,
|
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:
|
else:
|
||||||
message = f"{username} left the game"
|
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}})
|
envelope = json.dumps({"topic": "server/marquee", "payload": {"message": message}})
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from sqlalchemy.exc import IntegrityError
|
|||||||
from sqlmodel import Session, select
|
from sqlmodel import Session, select
|
||||||
|
|
||||||
from loon.web.db import engine
|
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.logs.types import LogTypeEnum
|
||||||
from loon.web.users.models import MinecraftUser, User
|
from loon.web.users.models import MinecraftUser, User
|
||||||
|
|
||||||
@@ -59,6 +59,6 @@ async def register_request_handler(client, userdata, msg, data):
|
|||||||
|
|
||||||
return
|
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}))
|
client.publish(f"loon/auth/register/{uuid}/response", json.dumps({"success": True, "error": None}))
|
||||||
@@ -7,6 +7,8 @@ from loon.web.auth.middleware import admin
|
|||||||
from loon.web.db import engine
|
from loon.web.db import engine
|
||||||
from loon.web.logs.models import LogEntry
|
from loon.web.logs.models import LogEntry
|
||||||
from loon.web.logs.schema import LogEntryResponse
|
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"])
|
router = APIRouter(prefix="/admin", tags=["admin"])
|
||||||
|
|
||||||
@@ -30,3 +32,11 @@ async def list_logs(request: Request):
|
|||||||
)
|
)
|
||||||
for entry in entries
|
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()
|
||||||
@@ -7,6 +7,10 @@ from loon.web.logs.models import LogType, LogEntry
|
|||||||
from loon.web.logs.types import LogTypeEnum
|
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:
|
def _write_log(log_type: LogTypeEnum, message: str) -> None:
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
statement = select(LogType).where(LogType.code == log_type.value)
|
statement = select(LogType).where(LogType.code == log_type.value)
|
||||||
|
|||||||
Reference in new issue
Block a user