Harden JSON event parsing and broadcast message formatting
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <[email protected]>
This commit is contained in:
+6
-3
@@ -78,12 +78,15 @@ def format_message(message, add_timestamp=True):
|
|||||||
# Handle broadcast messages
|
# Handle broadcast messages
|
||||||
attributes = 0
|
attributes = 0
|
||||||
if message[:10] == "broadcast:":
|
if message[:10] == "broadcast:":
|
||||||
message = message[11:]
|
message = message[10:].lstrip()
|
||||||
attributes = 1 # Bold
|
attributes = 1 # Bold
|
||||||
|
|
||||||
# Handle print messages
|
# Handle print messages
|
||||||
if message[:7] == "print \"":
|
if message[:7] == "print \"":
|
||||||
message = message[7:-2] + "\n"
|
message = message[7:]
|
||||||
|
if message.endswith("\""):
|
||||||
|
message = message[:-1]
|
||||||
|
message = message.rstrip() + "\n"
|
||||||
|
|
||||||
# Add timestamp if requested and appropriate
|
# Add timestamp if requested and appropriate
|
||||||
if add_timestamp and should_add_timestamp(message):
|
if add_timestamp and should_add_timestamp(message):
|
||||||
@@ -173,7 +176,7 @@ def format_powerup_message(message, player_tracker):
|
|||||||
import time
|
import time
|
||||||
|
|
||||||
if message.startswith("broadcast:"):
|
if message.startswith("broadcast:"):
|
||||||
message = message[11:].strip()
|
message = message[10:].strip()
|
||||||
|
|
||||||
# Strip print " wrapper
|
# Strip print " wrapper
|
||||||
if message.startswith('print "'):
|
if message.startswith('print "'):
|
||||||
|
|||||||
+1
-2
@@ -84,7 +84,7 @@ class EventParser:
|
|||||||
except json.JSONDecodeError as e:
|
except json.JSONDecodeError as e:
|
||||||
logger.debug(f'JSON decode error: {e}')
|
logger.debug(f'JSON decode error: {e}')
|
||||||
return None
|
return None
|
||||||
except (KeyError, TypeError) as e:
|
except (KeyError, TypeError, ValueError) as e:
|
||||||
logger.debug(f'Error parsing event: {e}')
|
logger.debug(f'Error parsing event: {e}')
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -212,7 +212,6 @@ class EventParser:
|
|||||||
else:
|
else:
|
||||||
weapon_name = WEAPON_NAMES.get(weapon, weapon)
|
weapon_name = WEAPON_NAMES.get(weapon, weapon)
|
||||||
return f"{score_prefix}{killer_prefix}^8{killer_name}^0 ^7committed suicide with the ^7{weapon_name}{warmup}\n"
|
return f"{score_prefix}{killer_prefix}^8{killer_name}^0 ^7committed suicide with the ^7{weapon_name}{warmup}\n"
|
||||||
return None
|
|
||||||
|
|
||||||
# Regular kill: +1 for killer
|
# Regular kill: +1 for killer
|
||||||
if not data.get('WARMUP', False):
|
if not data.get('WARMUP', False):
|
||||||
|
|||||||
Reference in New Issue
Block a user