From 16dcc960377c19cd07f6ab3024a85b77d821abc6 Mon Sep 17 00:00:00 2001 From: SpudGunMan Date: Tue, 14 Oct 2025 09:38:38 -0700 Subject: [PATCH] consolidate time to wait --- mesh_bot.py | 16 +--------------- modules/system.py | 11 ++--------- pong_bot.py | 1 - 3 files changed, 3 insertions(+), 25 deletions(-) diff --git a/mesh_bot.py b/mesh_bot.py index 4c9ed9b..4862a67 100755 --- a/mesh_bot.py +++ b/mesh_bot.py @@ -271,7 +271,6 @@ def handle_emergency(message_from_id, deviceID, message): nodeInfo = f"{get_name_from_number(message_from_id, 'short', deviceID)} detected by {get_name_from_number(myNodeNum, 'short', deviceID)} lastGPS {nodeLocation[0]}, {nodeLocation[1]}" msg = f"🔔🚨Intercepted Possible Emergency Assistance needed for: {nodeInfo}" # alert the emergency_responder_alert_channel - time.sleep(responseDelay) send_message(msg, emergency_responder_alert_channel, 0, emergency_responder_alert_interface) logger.warning(f"System: {message_from_id} Emergency Assistance Requested in {message}") # send the message out via email/sms @@ -483,11 +482,9 @@ def handle_llm(message_from_id, channel_number, deviceID, message, publicChannel if (channel_number == publicChannel and antiSpam) or useDMForResponse: # send via DM send_message(welcome_message, channel_number, message_from_id, deviceID) - time.sleep(responseDelay) else: # send via channel send_message(welcome_message, channel_number, 0, deviceID) - time.sleep(responseDelay) # mark the node as welcomed for node in seenNodes: if node['nodeID'] == message_from_id: @@ -521,7 +518,6 @@ def handle_llm(message_from_id, channel_number, deviceID, message, publicChannel else: # send via channel send_message(msg, channel_number, 0, deviceID) - time.sleep(responseDelay) start = time.time() @@ -918,7 +914,6 @@ def quizHandler(message, nodeID, deviceID): if isinstance(msg, dict) and str(nodeID) in bbs_admin_list and 'message' in msg: for player_id in quizGamePlayer.players: send_message(msg['message'], 0, player_id, deviceID) - time.sleep(responseDelay) msg = f"Message sent to {len(quizGamePlayer.players)} players" return msg @@ -1449,8 +1444,6 @@ def onReceive(packet, interface): msg = bbs_check_dm(message_from_id) if msg: - # wait a responseDelay to avoid message collision from lora-ack. - time.sleep(responseDelay) logger.info(f"System: BBS DM Delivery: {msg[1]} For: {get_name_from_number(message_from_id, 'long', rxNode)}") message = "Mail: " + msg[1] + " From: " + get_name_from_number(msg[2], 'long', rxNode) bbs_delete_dm(msg[0], msg[1]) @@ -1551,7 +1544,6 @@ def onReceive(packet, interface): if games_enabled: logger.warning(f"Device:{rxNode} Ignoring Request to Play Game: {message_string} From: {get_name_from_number(message_from_id, 'long', rxNode)} with hop count: {hop}") send_message(f"Your hop count exceeds safe playable distance at {hop_count} hops", channel_number, message_from_id, rxNode) - time.sleep(responseDelay) else: playingGame = False else: @@ -1562,7 +1554,6 @@ def onReceive(packet, interface): # respond with LLM llm = handle_llm(message_from_id, channel_number, rxNode, message_string, publicChannel) send_message(llm, channel_number, message_from_id, rxNode) - time.sleep(responseDelay) else: # respond with welcome message on DM logger.warning(f"Device:{rxNode} Ignoring DM: {message_string} From: {get_name_from_number(message_from_id, 'long', rxNode)}") @@ -1571,7 +1562,6 @@ def onReceive(packet, interface): if not any(node['nodeID'] == message_from_id and node['welcome'] == True for node in seenNodes): # send welcome message send_message(welcome_message, channel_number, message_from_id, rxNode) - time.sleep(responseDelay) # mark the node as welcomed for node in seenNodes: if node['nodeID'] == message_from_id: @@ -1583,9 +1573,7 @@ def onReceive(packet, interface): else: # respond with help message on DM send_message(help_message, channel_number, message_from_id, rxNode) - - time.sleep(responseDelay) - + # log the message to the message log if log_messages_to_file: msgLogger.info(f"Device:{rxNode} Channel:{channel_number} | {get_name_from_number(message_from_id, 'long', rxNode)} | DM | " + message_string.replace('\n', '-nl-')) @@ -1670,9 +1658,7 @@ def onReceive(packet, interface): hello(message_from_id, name) # send a hello message as a DM if not train_qrz: - time.sleep(responseDelay) send_message(f"Hello {name} {qrz_hello_string}", channel_number, message_from_id, rxNode) - time.sleep(responseDelay) else: # Evaluate non TEXT_MESSAGE_APP packets consumeMetadata(packet, rxNode, channel_number) diff --git a/modules/system.py b/modules/system.py index 98cf49b..b48620b 100644 --- a/modules/system.py +++ b/modules/system.py @@ -802,6 +802,8 @@ def send_message(message, ch, nodeid=0, nodeInt=1, bypassChuncking=False): logger.info(f"Device:{nodeInt} " + CustomFormatter.red + "Sending DM: " + CustomFormatter.white + message.replace('\n', ' ') + CustomFormatter.purple +\ " To: " + CustomFormatter.white + f"{get_name_from_number(nodeid, 'long', nodeInt)}") interface.sendText(text=message, channelIndex=ch, destinationId=nodeid) + # Throttle the message sending to prevent spamming the device + time.sleep(responseDelay) return True except Exception as e: logger.error(f"System: Exception during send_message: {e} (message length: {len(message)})") @@ -1420,7 +1422,6 @@ def consumeMetadata(packet, rxNode=0, channel=-1): if flight_info and NO_ALERTS not in flight_info and ERROR_FETCHING_DATA not in flight_info: msg += f"\n✈️Detected near:\n{flight_info}" send_message(msg, highfly_channel, 0, highfly_interface) - time.sleep(responseDelay) # Keep the positionMetadata dictionary at a maximum size of 20 if len(positionMetadata) > 20: # Remove the oldest entry @@ -1491,7 +1492,6 @@ def consumeMetadata(packet, rxNode=0, channel=-1): logger.info(f"System: Detection Sensor Data from Device: {rxNode} Channel: {channel} NodeID:{nodeID} Text:{detction_text}") if detctionSensorAlert: send_message(f"🚨Detection Sensor from Device: {rxNode} Channel: {channel} NodeID:{get_name_from_number(nodeID,'long',rxNode)} Alert:{detction_text}", secure_channel, 0, secure_interface) - time.sleep(responseDelay) except Exception as e: logger.debug(f"System: DETECTION_SENSOR_APP decode error: Device: {rxNode} Channel: {channel} {e} packet {packet}") @@ -1792,13 +1792,11 @@ async def handleSignalWatcher(): for ch in sigWatchBroadcastCh: if antiSpam and ch != publicChannel: send_message(msg, int(ch), 0, sigWatchBroadcastInterface) - time.sleep(responseDelay) else: logger.warning(f"System: antiSpam prevented Alert from Hamlib {msg}") else: if antiSpam and sigWatchBroadcastCh != publicChannel: send_message(msg, int(sigWatchBroadcastCh), 0, sigWatchBroadcastInterface) - time.sleep(responseDelay) else: logger.warning(f"System: antiSpam prevented Alert from Hamlib {msg}") @@ -1821,23 +1819,19 @@ async def handleFileWatcher(): for ch in file_monitor_broadcastCh: if antiSpam and int(ch) != publicChannel: send_message(msg, int(ch), 0, 1) - time.sleep(responseDelay) if multiple_interface: for i in range(2, 10): if globals().get(f'interface{i}_enabled'): send_message(msg, int(ch), 0, i) - time.sleep(responseDelay) else: logger.warning(f"System: antiSpam prevented Alert from FileWatcher") else: if antiSpam and file_monitor_broadcastCh != publicChannel: send_message(msg, int(file_monitor_broadcastCh), 0, 1) - time.sleep(responseDelay) if multiple_interface: for i in range(2, 10): if globals().get(f'interface{i}_enabled'): send_message(msg, int(file_monitor_broadcastCh), 0, i) - time.sleep(responseDelay) else: logger.warning(f"System: antiSpam prevented Alert from FileWatcher") @@ -1948,7 +1942,6 @@ async def process_vox_queue(): for channel in sigWatchBroadcastCh: if antiSpam and int(channel) != publicChannel: send_message(message, int(channel), 0, sigWatchBroadcastInterface) - time.sleep(responseDelay) async def watchdog(): global localTelemetryData, retry_int1, retry_int2, retry_int3, retry_int4, retry_int5, retry_int6, retry_int7, retry_int8, retry_int9 diff --git a/pong_bot.py b/pong_bot.py index 33e41d3..b982d9a 100755 --- a/pong_bot.py +++ b/pong_bot.py @@ -353,7 +353,6 @@ def onReceive(packet, interface): else: logger.warning(f"Device:{rxNode} Ignoring DM: {message_string} From: {get_name_from_number(message_from_id, 'long', rxNode)}") send_message(welcome_message, channel_number, message_from_id, rxNode) - time.sleep(responseDelay) # log the message to the message log if log_messages_to_file: