mirror of
https://github.com/kuitoi/kuitoi-Server.git
synced 2025-08-17 16:25:36 +00:00
Added Client events handler
This commit is contained in:
parent
13be12a7a1
commit
e241a7da4c
@ -627,11 +627,13 @@ class Client:
|
|||||||
await self._send(data, to_all=True, to_self=False)
|
await self._send(data, to_all=True, to_self=False)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
_bytes = False
|
||||||
try:
|
try:
|
||||||
data = data.decode()
|
data = data.decode()
|
||||||
except UnicodeDecodeError:
|
except UnicodeDecodeError:
|
||||||
|
_bytes = True
|
||||||
self.log.error(f"UnicodeDecodeError: {data}")
|
self.log.error(f"UnicodeDecodeError: {data}")
|
||||||
return
|
self.log.info("Some things are skipping...")
|
||||||
|
|
||||||
# Codes: p, Z in udp_server.py
|
# Codes: p, Z in udp_server.py
|
||||||
match data[0]: # At data[0] code
|
match data[0]: # At data[0] code
|
||||||
@ -639,15 +641,31 @@ class Client:
|
|||||||
await self._connected_handler()
|
await self._connected_handler()
|
||||||
|
|
||||||
case "C": # Chat handler
|
case "C": # Chat handler
|
||||||
|
if _bytes:
|
||||||
|
return
|
||||||
await self._chat_handler(data)
|
await self._chat_handler(data)
|
||||||
|
|
||||||
case "O": # Cars handler
|
case "O": # Cars handler
|
||||||
|
if _bytes:
|
||||||
|
return
|
||||||
await self._handle_car_codes(data)
|
await self._handle_car_codes(data)
|
||||||
|
|
||||||
case "E": # Client events handler
|
case "E": # Client events handler
|
||||||
# TODO: Handle events from client
|
if len(data) < 2:
|
||||||
pass
|
self.log.debug("Tried to send an empty event, ignoring.")
|
||||||
|
return
|
||||||
|
if _bytes:
|
||||||
|
sep = data.find(b":", 2)
|
||||||
|
self.log.warning("Bytes event!")
|
||||||
|
else:
|
||||||
|
sep = data.find(":", 2)
|
||||||
|
if sep == -1:
|
||||||
|
self.log.error(f"Received event in invalid format (missing ':'), got: {data}")
|
||||||
|
event_name = data[2:sep]
|
||||||
|
even_data = data[sep + 1:]
|
||||||
|
ev.call_lua_event(event_name, even_data)
|
||||||
|
ev.call_event(event_name, even_data)
|
||||||
|
await ev.call_async_event(event_name, even_data)
|
||||||
case "N":
|
case "N":
|
||||||
await self._send(data, to_all=True, to_self=False)
|
await self._send(data, to_all=True, to_self=False)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user