From 315ae84bb66cd9571c86c9e239eebe80374aac45 Mon Sep 17 00:00:00 2001 From: SpudGunMan Date: Thu, 9 Oct 2025 16:27:06 -0700 Subject: [PATCH] enhance --- config.template | 2 ++ mesh_bot.py | 14 +++++++++----- modules/settings.py | 1 + 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/config.template b/config.template index 6a804c1..35c888f 100644 --- a/config.template +++ b/config.template @@ -262,6 +262,8 @@ interface = 1 # channel to send the message to channel = 2 message = "MeshBot says Hello! DM for more info." +# enable overides the above and uses the motd as the message +schedulerMotd = False # value can be min,hour,day,mon,tue,wed,thu,fri,sat,sun value = # interval to use when time is not set (e.g. every 2 days) diff --git a/mesh_bot.py b/mesh_bot.py index bc10c0d..19c97a4 100755 --- a/mesh_bot.py +++ b/mesh_bot.py @@ -1748,12 +1748,10 @@ async def start_rx(): else: logger.debug(f"System: SMTP Email Alerting Enabled") if scheduler_enabled: - # Reminder Scheduler is enabled every Monday at noon send a log message - schedule.every().monday.at("12:00").do(lambda: logger.info("System: Scheduled Broadcast Enabled Reminder")) - # basic scheduler + if schedulerMotd: + schedulerMessage = MOTD if schedulerValue != '': - logger.debug(f"System: Starting the broadcast scheduler from config.ini") if schedulerValue.lower() == 'day': if schedulerTime != '': # Send a message every day at the time set in schedulerTime @@ -1788,8 +1786,13 @@ async def start_rx(): elif 'min' in schedulerValue.lower(): # Send a message every minute at the time set in schedulerTime schedule.every(int(schedulerInterval)).minutes.do(lambda: send_message(schedulerMessage, schedulerChannel, 0, schedulerInterface)) + logger.debug(f"System: Starting the scheduler to send '{schedulerMessage}' every {schedulerValue} at {schedulerTime} on Device:{schedulerInterface} Channel:{schedulerChannel}") else: - logger.debug(f"System: Starting the broadcast scheduler") + logger.warning("System: No schedule.Value set edit the .py file to do more. See examples in the code.") + # Reminder Scheduler is enabled every Monday at noon send a log message + schedule.every().monday.at("12:00").do(lambda: logger.info("System: Scheduled Broadcast Enabled Reminder")) + # example scheduler message + logger.debug(f"System: Starting the scheduler to send '{schedulerMessage}' every Monday at noon on Device:{schedulerInterface} Channel:{schedulerChannel}") # Enhanced Examples of using the scheduler, Times here are in 24hr format # https://schedule.readthedocs.io/en/stable/ @@ -1826,6 +1829,7 @@ async def start_rx(): # Send bbslink looking for peers every other day at 10:00 using send_message function to channel 3 on device 1 #schedule.every(2).days.at("10:00").do(lambda: send_message("bbslink MeshBot looking for peers", 3, 0, 1)) + # show schedual details await BroadcastScheduler() # here we go loopty loo diff --git a/modules/settings.py b/modules/settings.py index 6360eff..e89d381 100644 --- a/modules/settings.py +++ b/modules/settings.py @@ -348,6 +348,7 @@ try: schedulerInterval = config['scheduler'].get('interval', '') # default empty schedulerTime = config['scheduler'].get('time', '') # default empty schedulerValue = config['scheduler'].get('value', '') # default empty + schedulerMotd = config['scheduler'].getboolean('schedulerMotd', False) # default False # radio monitoring radio_detection_enabled = config['radioMon'].getboolean('enabled', False)